5月4日-5月24日。断断续续折腾了三个星期的Greenplum,总算告一段落了:扩容,发现扩不成容。仅仅好升级。升级,发现一堆错误,仅仅好暂停修复数据库;修好了,继续升级。升完级,发现错误。修啊修啊修好了;最后,最终完毕了扩容。
这个过程里写了8篇博文把实施过程和问题解决都记录下来了。这里把整个过程总结一下。本来早就要写了,可家里外头一堆事儿,拖到今天才找个空来落笔。
最開始的起因。是GP集群的计算能力和存储能力都快到极限了,所以要扩容segment host。当时的集群里包含两种硬件HP DL380 G8和IBM X3650 M4 7915NWZ,OS都是RHEL 6.2 64bit,GP的版本号是Greenplum Database 4.2.7.2 build 1(PostgreSQL 8.2.15),打算要扩容的server是HP DL380 G9。这时问题来了:HP DL380 G9支持的最低版本号RHEL是6.5,硬装6.2的话连raid都认不出来,所以集群里的server仅仅能有两种OS了。但是。更麻烦的是。GP4.2.7.2不支持RHEL 6.5,也就是说没在6.5上測试过,硬装可能行,也可能不行。
综合考虑了一下,最后决定先将GP升级到最新版本号。实际操作步骤參见以下的两篇博文:
然后在进行扩容,实际操作步骤參见以下的两篇博文:
这个过程中。无数的问题迸发出来。基本的记录例如以下:
- 怎样解决Greenplum的gpcheckcat关于persistent的错误
- 怎样解决Greenplum pg_dump备份时的分布策略缺失等问题
- 怎样解决Greenplum中无法通过标准命令修复的元数据错误
- 怎样解决Greenplum master node与seg node元数据不一致
擦,竟然这就写完了。看起来也没多少事儿啊,但是真的一件件解决起来的时候。真滴非常痛苦!