IT技术互动交流平台

Greenplum数据库扩容实务(下)实施收尾

来源:IT165收集  发布日期:2015-05-22 20:31:49

GP扩容的实施其实就是一条命令,最耗费时间的是实施之后的数据重分布,也就是把数据从已有节点平衡到新的seg host上,这篇将描述实施、收尾过程,并给出些常见问题。

实施

检查所有节点之间的网络和磁盘性能

su - gpadmin
gpstop -M immediate
exit
source /usr/local/greenplum-db/greenplum_path.sh
gpcheckperf -f /root/20141231exp/allnodes -d /data1 -d /data2 -d /data3 -d /data4 –v
su - gpadmin
gpstart

只要其中的IO都在1GB/s左右,基本就没有问题。

扩容

执行如下脚本扩容
gpexpand -i /home/gpadmin/20150523exp/gpexpand_inputfile_20150520_161055 -D databasename
扩容中可能的问题
扩容后如果不能完成重分布就跑任务,那任务逻辑得保证主键。 命令执行过程中,不断爆出这个work_mem warning,忽略它

重启GP服务

gpstop -M immediate
gpstart

检查配置

psql -d dw
dw=# select * from gp_segment_configuration order by dbid;
gpstate

扩容后操作

重分布

gpexpand -d 80:00:00 -D dw -n 16 > gpexpand_20141231.log &

在重分布过程中用下述语句查询状态,过程可能及其缓慢:

select * from gpexpand.expansion_progress;
SELECT status, expansion_started, source_bytes
FROM gpexpand.status_detail
WHERE fq_name = 'dw_detail.client_offund_detail';
select status,count(1),round(sum(source_bytes/1024/1024/1024),2) as size_giga from gpexpand.status_detail group by status order by 1;
select fq_name,expansion_started,expansion_finished,source_bytes from gpexpand.status_detail where status='IN PROGRESS';

清理环境

gpexpand -c -D dw

按照该提示输入y

扩容回滚

如果在扩容过程中,报错,需先启动GP master node,然后rollback再启动GP

gpstart -m
gpexpand –r –D dw
gpstart

常见问题

生成input文件(2.6)要使用一个主机一行的主机信息文件,否则在执行扩容的时候报如下错误:
20140405:14:47:45:023629 gpexpand:mdw:gpadmin-[ERROR]:-gpexpand failed: Failed to open /data/master/gpexpand_04052014_23629/pg_hba.conf
更改sysctl.conf后需要执行sysctl -p,否则在扩容执行时会报:
20140405:16:58:12:011382 gpexpand:mdw:gpadmin-[ERROR]:-gpexpand failed: ExecutionError: 'Error Executing Command: ' occured.  Details: 'GPSTART_INTERNAL_MASTER_ONLY=1 ssh -o 'StrictHostKeyChecking no' sdw10 ". /usr/local/greenplum-db/./greenplum_path.sh; GPSTART_INTERNAL_MASTER_ONLY=1 env GPSESSID=0000000000 GPKILL=NEVER GPERA=None $GPHOME/bin/pg_ctl -D /data1/primary/gpseg32 -l /data1/primary/gpseg32/pg_log/startup.log -w -t 600 -o \" -p 40000 -b 67 -z 0 --silent-mode=true -i -M mirrorless -C 32 -c gp_role=utility \" start 2>&1"'  cmd had rc=1 completed=True halted=False
  stdout='waiting for server to start......pg_ctl: PID file "/data1/primary/gpseg32/postmaster.pid" does not exist
could not start server
'
  stderr=''
如果数据重分布异乎寻常的慢,需要怀疑某台新主机的网卡等设备存在时断时续的性能问题,先把网卡换了再说,具体的情况需要根据重分布执行中的数据拷贝速率进行分析。
Tag标签: 实务   数据库  
  • 专题推荐

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规