记录针对客户的集群迁移与扩容过程,针对该过程中的坑做一下总结。
场景描述
客户现场有3台装有greenplum的集群,目前数据量约1T左右,客户想再增加3台服务器到集群中。在此过程中,由于客户想进行机房的搬迁,而在此过程中不长时间中断业务的使用。所以就采用以下方案:
先在新的机房中安装并部署greenplum集群,然后将旧的集群中的数据迁移到新的集群中,先使用新的集群开展业务,待旧的主机搬迁到新的机房后进行扩容加入。
检查数据库状态
到客户现场后,在数据迁移前先检查旧的集群的状态,通过gpstate -e命令,发现集群中segment的一些instance有挂掉的状况,并因此导致了primary和mirror角色的错位。对于这种现象,使用gprecoverseg命令进行恢复,若恢复不成功,使用gprecoverseg -F进行全量恢复。在使用gprecoverseg命令进行恢复时,恢复失败,不得已进行了数据库的重启,又发现重启失败,通过查看gp_log目录下的startup.log,可以获得重启失败的原因。重启失败的原因是数据库中的一个参数修改的太大导致,这时,先在master节点上对该参数进行修改(在postgresql.conf文件里修改),然后通过gpstart -m命令重启mater节点,然后通过gpconfig命令修改其他节点的参数值,修改完成后重启数据库即可。
继续进行gprecoverseg -F进行全量恢复,在恢复过程中,通过gpstate -m查看镜像同步状态,发现在进行数据同步时,速度非常的慢,当时没有仔细去考虑该问题的原因,这位后续的数据迁移缓慢,埋下了伏笔。
集群数据迁移
使用gptransfer命令进行集群的迁移。
一个参考迁移命令是:
gptransfer -d test_db --source-map-file=host_source -a --dest-host=101.8.187.11 --batch-size=2 –truncate
该

本文记录了针对客户Greenplum集群的迁移与扩容过程,包括解决集群状态异常、数据迁移挑战、网络问题及集群扩容的具体步骤,提供宝贵经验。
最低0.47元/天 解锁文章
2500

被折叠的 条评论
为什么被折叠?



