avatar

目录
Greenplum 4.3.X 安装教程

本教程以Centos6.6的Docker容器为例(Docker容器构建在本教程不细说)

安装教程(以10.1.2.22 -p22为例)

1. 添加用户组及用户

1
2
3
4
5
6
groupadd -g 530 gpadmin
useradd -g 530 -u 530 -m -d /home/ -s /bin/bash gpadmin
passwd gpadmin<<EOF
gpadmin
gpadmin
EOF

2. 添加目录

1
2
3
4
5
mkdir -p /data/gpdata/data /data/gpdata/master
chown -R gpadmin.gpadmin /data/gpdata/
mkdir -p /home/apps/greenplum-db
mkdir -p /home/.ssh
chown -R gpadmin.gpadmin /home/

3. 配置hosts

1
echo 10.1.2.22 sdw1>>/etc/hosts

4. 安装依赖包

1
yum install -y ed.x86_64  unzip.x86_64 tar.x86_64

5. 安装Greenplum

1
2
3
4
5
/data/greenplum-db-4.3.8.1-build-1-RHEL5-x86_64.bin
Ctrl + c
yes
/home/apps/greenplum-db
yes

6. 配置环境变量

1
2
3
4
5
6
7
8
9
10
su - gpadmin<<EOF
echo "#Greenplum
source /home/apps/greenplum-db/greenplum_path.sh
export PGPORT=5432
export MASTER_DATA_DIRECTORY=/data/gpdata/master/gpseg-1
export PGDATABASE=testDB">>/home/.bash_profile
EOF
su - gpadmin<<EOF
source /home/.bash_profile
EOF

7. 复制初始化文件(gpinitsystem_config 该文件由Greenplum官网提供)

1
2
cp /data/greenplum/gpinitsystem_config /home/apps/greenplum-db/
chown -R gpadmin.gpadmin /home/apps/

8. 打通各个节点

1
2
3
4
su - gpadmin<<EOF
echo sdw1>>/home/apps/greenplum-db/hostlist
EOF
gpssh-exkeys -f /home/apps/greenplum-db/hostlist

9. 初始化Greenplum

1
2
3
su - gpadmin
cd /home/apps/greenplum-db
gpinitsystem -c ./gpinitsystem_config -h hostlist

+ 第一次使用 testDB 数据库:

1
2
3
su - gpadmin
create testDB -E utf-8
psql 进去后 alter role gpadmin with password 'gpadmin'; 然后\q

+ 客户端连接数据库:

1
2
3
su - gpadmin
echo host all all 10.1.1.5/32 md5>>/data/gpdata/master/gpseg-1/pg_hba.conf
gpstop -u

增加节点教程(以10.1.1.188 -p22 主节点为例)

注意事项:

子节点数据库安装目录要和主节点一致(例:10.1.1.188安装目录为:/home/apps/bidb/greenplum-db,那么节点10.1.2.22 安装目录也应该为如此,如不一致可以用软链纠正)
子节点数据存储目录要和主节点一致(例:10.1.1.188主节点和子节点是在同一台机器上的,188的子节点数据目录为/data/appdatas/gpdate/data1/gpseg1,那么在10.1.2.22也需要建立一个一模一样的空目录)
以上两点的目录均需要注意权限应为gpadmin!!!

1. 创建inputfile(gpexpand -f 是节点文件,-D 是需要增加节点的数据库,第三步gpexpand中全部确认使用默认值即可)

1
2
3
su - gpadmin
echo sdw1>>/home/apps/bidb/greenplum-db/newhostlist
gpexpand -f newhostlist -D btldw

2. 打通主节点和子节点ssh(主节点 /etc/hosts 中需要增加 sdw1 的host)

1
gpssh-exkeys -f /home/apps/bidb/greenplum-db/newhostlist

3. 增加节点(第一步完成后,newhostlist当前目录会生成一个gpexpand_inputfile_xxxx的文件)

1
gpexpand -i gpexpand_inputfile_20171008_105236 -D btldw

4. 数据重分步(-d为执行周期)

1
gpexpand -d 60:00:00 -D btldw

5. 重分步情况检查

1
select gp_segment_id, count(*) from dw.biz_n_fin_order_detail group by gp_segment_id;

可以使用以上SQL检查对应表是否均匀分布至对应节点(gp_segment_id=0为10.1.1.188,1为10.1.2.22)

疑难解答:
如第一点中增加节点失败,可使用 gpstart -m 命令以安全模式重新启动Greenplum集群,然后再执行 gpexpand -r -D btldw 回滚增加节点操作,最后再 gpstart -a 即可恢复至最初的状态,然后再根据报错进行修正操作

文章作者: SbloodyS
文章链接: https://ixzh.xyz/Greenplum-4-3-X-%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B.html
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 SbloodyS
打赏
  • 微信
    微信
  • 支付宝
    支付宝

评论