现集群环境
master一台:centos6.7 4核4G
主机名:gp-matser;IP:172.30.248.18
segment两台:centos6.7 4核4G
主机名:gp-segment1;IP:172.30.251.189
主机名:gp-segment2;IP:172.30.251.19
新增两个节点centos6.7 4核4G
主机名:gp-segment3;IP:172.30.251.79
主机名:gp-segment4;IP:172.30.251.8
一、准备工作
1、
检查新增主机的
SElinux
服务为关闭状态
2、
检查
新增
主机的
iptables
服务为关闭状态
3、修改
新增主机的/etc/sysctl.conf文件(用现有节点上的文件覆盖即可)
4、修改
新增主机/etc/security/limit.conf文件,设置文件打开数等限制(用现有节点上的文件覆盖即可)
5、修改所有主机的/etc/hosts
文件,增加所有主机信息
[root@gp-segment4 DB]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain
172.30.248.18 gp-master
172.30.251.189 gp-segment1
172.30.251.19 gp-segment2
172.30.251.79 gp-segment3
172.30.251.8 gp-segment4
6、
设置
新增主机
所有磁盘分区的
read-ahead value
大小为
16384
7、
设置
新增主机 linux磁盘IO调度器对磁盘的访问支持不同的策略,默认的CFQ,GP建议设置为deadline
8、
修改所有主机
/boot/grub/grub.conf
文件
9、检查所有主机的THP服务都为disable状态
10、创建GP用户
11、master上创建新增节点文件
[root@gp-master master]# cat /tmp/expend_hosts
gp-segment3
gp-segment4
以上大部分工作在上一篇GP集群部署的时候都有详细介绍,这里不再详细阐述。
二、segment初始化
1、生成配置文件
[gpadmin@gp-master ~]$gpexpand -f /tmp/expend_hosts -D expand (注:这个expand库要预先在集群上创建)
..
Would you like to initiate a new System Expansion Yy|Nn (default=N):
> y
..
How many new primary segments per host do you want to add? (default=0):
> 1
..
Enter new primary data directory 1:
> /disk/DB (新增节点的数据目录,这个目录要预先在新增节点上创建并且gpadmin对这个目录有权限)
..
[gpadmin@gp-master ~]$ ls
gpexpand_inputfile_20160817_112355
[gpadmin@gp-master ~]$ cat gpexpand_inputfile_20160817_112355
gp-segment3:gp-segment3:40000:/disk/DB/gpseg2:4:2:p
gp-segment4:gp-segment4:40000:/disk/DB/gpseg3:5:3:p
这个文件的格式是 hostname:address:port:fselocation:dbid:content:preferred_role:replication_port
可以用select * from gp_segment_configuration ;查看现在集群的基本配置
2、初始化
[gpadmin@gp-master ~]$ gpexpand -i gpexpand_inputfile_20160817_112355 -D expand
...
Would you like to continue with System Expansion Yy|Nn (default=N):
> y
...
初始化成功我进集群看看
[gpadmin@gp-master ~]$ psql -U gpadmin -d dhdw
psql (8.2.15)
Type "help" for help.
dhdw=# select * from gp_segment_configuration ;
dbid | content | role | preferred_role | mode | status | port | hostname | address | replication_port | san_mounts
------+---------+------+----------------+------+--------+-------+-------------+-------------+------------------+------------
1 | -1 | p | p | s | u | 5432 | gp-master | gp-master | |
2 | 0 | p | p | s | u | 40000 | gp-segment1 | gp-segment1 | |
3 | 1 | p | p | s | u | 40000 | gp-segment2 | gp-segment2 | |
4 | 2 | p | p | s | u | 40000 | gp-segment3 | gp-segment3 | |
5 | 3 | p | p | s | u | 40000 | gp-segment4 | gp-segment4 | |
(5 rows)
dhdw=# select gp_segment_id,"count"(*) from cdm_user GROUP BY 1
dhdw-# ;
gp_segment_id | count
---------------+--------
1 | 227826
0 | 227854
(2 rows)
可以看出新增的节点已经加到集群中,但是数据还是只分布在原来的两个节点上
3、数据重分布
[gpadmin@gp-master ~]$ gpexpand -d 02:00:00 -D expand
...
20160817:16:33:45:030473 gpexpand:gp-master:gpadmin-[INFO]:-Distribution policy for table gpcmdr_instance_gpmoncon.fsmapcache is 'host'
20160817:16:33:45:030473 gpexpand:gp-master:gpadmin-[INFO]:-Expanding gpperfmon.gpcmdr_instance_gpmoncon.fsmapcache
20160817:16:33:45:030473 gpexpand:gp-master:gpadmin-[INFO]:-Finished expanding gpperfmon.gpcmdr_instance_gpmoncon.fsmapcache
20160817:16:33:52:030473 gpexpand:gp-master:gpadmin-[INFO]:-EXPANSION COMPLETED SUCCESSFULLY
20160817:16:33:52:030473 gpexpand:gp-master:gpadmin-[INFO]:-Exiting...
数据重分布成功,再进集群看看数据分布情况
dhdw=# select gp_segment_id,"count"(*) from cdm_user GROUP BY 1 ;
gp_segment_id | count
---------------+--------
3 | 113780
1 | 114046
2 | 113834
0 | 114020
这里看到数据已经重分布到所有节点上
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29989552/viewspace-2125263/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29989552/viewspace-2125263/