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

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=''
  • 如果数据重分布异乎寻常的慢,需要怀疑某台新主机的网卡等设备存在时断时续的性能问题,先把网卡换了再说,具体的情况需要根据重分布执行中的数据拷贝速率进行分析。
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值