测试环境
三节点集群,管理节点和数据节点复用,以192.168.2.188节点为例,进行节点替换测试

替换前准备工作
1、如果操作系统重新安装,需要配yum源
2、新建gbase用户,并给gbase配上ssh互信
替换gcware
在任一管理节点$GCWARE_BASE/gcware_server目录以gbase用户执行gcserver.py,这一步比较快,虚拟机环境约1分钟。
| [gbase@node6 gcware_server]$ ./gcserver.py –prefix=/data/gbase –host=192.168.2.188 –dbaUser=gbase –dbaPwd=********* –overwrite
|
替换gcluster
在安装目录gcinstall目录,以gbase用户执行,约5分钟
| [gbase@node6 gcinstall_953_27_20]$ ./replace.py –host=192.168.2.188 –type=coor –dbaUser=gbase –dbaUserPwd=******* –generalDBUser=root –generalDBPwd=” –overwrite |
替换data
1、创建中间distribution,(以下操作均在安装包目录进行)
| [root@node4 ]# gcadmin getdistribution 1 distribution_info_188.xml |
2、修改新的分布文件 distribution_info_188.xml的分布规则信息
要做的事情是把故障的IP(192.168.2.188)从配置里去掉。包含了2种情况。
A、出现在 duplicatenode 部分,则删除这一行即可;
B、出现在 primarynode 部分,需要改造,将其duplicatenode 部分的某个IP(如果有多个的话),改造成 primarynode,记得把duplicatenode 删掉。 也就是残存的备份节点,成了主节点。
| [gbase@node6 gcinstall_953_27_20]$ cat distribution_info_188.xml
<?xml version=’1.0′ encoding=”utf-8″?> <distributions> <distribution> <segments> <segment> <primarynode ip=”192.168.2.187″/> <duplicatenodes> <duplicatenode ip=”192.168.2.186″/> </duplicatenodes> </segment> <segment> <primarynode ip=”192.168.2.186″/> <duplicatenodes> </duplicatenodes> </segment> <segment> <primarynode ip=”192.168.2.187″/> <duplicatenodes> </duplicatenodes> </segment> </segments> </distribution> </distributions> |
3、修改创建 distribution 所需的 gcChangeInfo_vc1.xml 文件
| [gbase@node6 gcinstall_953_27_20]$ cat gcChangeInfo_188.xml
<?xml version=”1.0″ encoding=”utf-8″?> <servers> <cfgFile file=”distribution_info_188.xml”/> </servers> |
4、执行创建新的 distribution
| gcadmin distribution gcChangeInfo_188.xml
|
5、初始化 hashmap 并进行数据重分布
| gbase> initnodedatamap;
#执行重分布 gbase> rebalance instance; #查看进度 gbase> select index_name,status,percentage,priority,host,distribution_id from gclusterdb.rebalancing_status; |
6、执行节点替换命令
| [gbase@node6 gcinstall_953_27_20]$ ./replace.py –host=192.168.2.188 –type=data –dbaUser=gbase –dbaUserPwd=****** –generalDBUser=root –generalDBPwd=” –overwrite
#执行后,结果如下图
|
7、进行数据重分布
| #执行重分布
gbase> rebalance instance;
#查看进度(约3小时) gbase> select index_name,status,percentage,priority,host,distribution_id from gclusterdb.rebalancing_status;
|
8、删除旧的 distribution(先通过gcadmin showdistribution查看旧distribution ID,再进行删除)
| gcadmin rmdistribution 2
|
9、执行完成,188节点状态正常,如下图所示
![]() |
原创文章,作者:kirin,如若转载,请注明出处:https://blog.ytso.com/tech/bigdata/317699.html