GBase 8a 运维—— 7(节点替换)
一、 节点替换
#如何和gcluster合并部署,先替换gcware再替换gcluster,最后替换datanode
(A) 替换gcware
单独部署
cd $GCWARE_BASE/gcware_server/
./gcserver.py --prefix=/opt --host=172.16.6.101 --dbaUser=gbase --dbaPwd=gbase --overwrite
(B) 复合节点替换
1、 要求。
只能使用全新节点替换、
必须先进行 Coordinator 服务的替换、
替换 Data 服务需确认被替换节点之外的 Coordinator 节点状态正常、
准备好操作系统即可,不需要安装软件,ip与原来ip保持一致。
# 先替换gcware,替换完成后关闭该节点gcware服务。 或者 记得 --overwrite
2、设置损坏的节点状态为unavailable。
DBA用户执行(gbase): gcadmin setnodestate 172.16.6.101 unavailable
3、 删除被替换节点的 feventlog
gcadmin rmfeventlog 172.16.6.101
4、硬件部分交换网线,执行节点替换 (
./replace.py --host=172.16.6.101 --type=coor --dbaUser=gbase --dbaUserPwd=gbase --generalDBUser=gbase --generalDBPwd=gbase20110531 --overwrite
5、检查节点状态清理fevent
gcadmin ,集群状态应为 normal,Coordinator 节点状态正常,被替换节点的DATA NODE INFORMATION 状态为 unavailable 状态
6、清理feventlog
gcadmin rmfeventlog 172.16.6.101
7、创建中间的distribution
a、查看distribution primary和segments,将当前的distribution id保存到distribution.xml文件中
gcadmin showdistribution node ||如果是vc|| gcadmin showdistribution vc vcname node
gcadmin getdistribution 1 distribution.xml
b、 修改新的distribution分布规则。原有分布规则不变,让被替换节点没有任何数据分片。比如
ip名用数字代替,要替换100,101,102 中的101, 将ip 101对应的全去掉,并变成主ip
主101备100 ,主100备102,主102备101
改为
主100备无 , 主100备102,主102备无
c、修改创建 distribution 所需的 xml 文件,参考gcChangeInfo.xml 。比如 gcChangeInfotmp.xml
<?xml version="1.0" encoding="utf-8"?>
<servers>
<cfgFile file="distribution.xml"/>
</servers>
gcadmin distribution gcChangeInfotmp.xml || gcadmin distribution gcChangeInfotmp.xml vc vc1
d、初始化并重分布(不会实际进行重分布)
登录后:use vc vc1
initnodedatamap;
rebalance instance ;
select * from gclusterdb.rebalancing_status;
8、 执行替换
./replace.py --host=172.16.6.101 --type=data --dbaUser=gbase --dbaUserPwd=gbase --generalDBUser=gbase --generalDBPwd=gbase20110531 --overwrite
9、检查状态,做数据重分布(会实际进行重分布)
gcadmin showdistribution node ||如果是vc|| gcadmin showdistribution vc vcname node
登录后:use vc vc1
rebalance instance ;
select * from gclusterdb.rebalancing_status;
10、删除旧的distribution
gcadmin rmdistribution 1 || 多vc参考|| gcadmin rmdistribution 1 vc vc1
(C) 纯coordinator节点替换
1、gcadmin 检查仅仅是coordinator 。
gcadmin showcluster |gcadmin showcluster vc vcname
2、准备新服务器。操作系统,IP与要替换的保持一致,dba用户-gbase 建立上。
3、设置不可用状态
gcadmin setnodestate 172.16.6.101 unavailable
4、删除feventlog
gcadmin rmfeventlog 172.16.6.101
5、执行节点替换
./replace.py --host=172.16.6.101 --type=coor --dbaUser=gbase --dbaUserPwd=gbase --generalDBUser=gbase --generalDBPwd=gbase20110531
(D) 纯Data节点替换—— freenode
1、安装软件,做freenode出来。已经有freenode 可跳过
设置datahost为要安装节点的ip 比如104 ,补充exist节点信息
2、检查状态、设置不可用状态、清理feventlog
gcadmin showcluster || 或者vc参考|| gcadmin showcluster vc vc名
gcadmin setnodestate 172.16.6.101 unavailable
gcadmin rmfeventlog 172.16.6.101
3、创建中间distribution
a、查看distribution primary和segments,将当前的distribution id保存到distribution.xml文件中
gcadmin showdistribution node ||如果是vc|| gcadmin showdistribution vc vcname node
gcadmin getdistribution 1 distribution.xml
b、 修改新的distribution分布规则。原有分布规则不变,让被替换节点没有任何数据分片。比如
ip名用数字代替,要替换100,101,102 中的101, 将ip 101对应的全去掉,并变成主ip
主101备100 ,主100备102,主102备101
改为
主100备无 , 主100备102,主102备无
c、修改创建 distribution 所需的 xml 文件,参考gcChangeInfo.xml 。比如 gcChangeInfotmp.xml
<?xml version="1.0" encoding="utf-8"?>
<servers>
<cfgFile file="distribution.xml"/>
</servers>
gcadmin distribution gcChangeInfotmp.xml || gcadmin distribution gcChangeInfotmp.xml vc vc1
d、初始化并重分布(不会实际进行重分布)
登录后
use vc vc1 ;
initnodedatamap ;
rebalance instance ;
select * from gclusterdb.rebalancing_status;
4、 执行替换
./replace.py --host=172.16.6.101 --freenode=172.16.6.104 --type=data --dbaUser=gbase --dbaUserPwd=gbase --generalDBUser=gbase --generalDBPwd=gbase20110531 --overwrite --vcname=vc1
5、检查状态,做数据重分布(会实际进行重分布)
gcadmin showdistribution vc vc1 node
登录后:use vc vc1
rebalance instance
select * from gclusterdb.rebalancing_status;
6、删除旧的distribution
gcadmin rmdistribution 4 vc vc1
(E) 纯Data节点替换—— 全新节点替换
注:系统版本、IP与要替换节点保持一致。
1、检查状态、设置不可用状态、清理feventlog
gcadmin showcluster || 或者vc参考|| gcadmin showcluster vc vc名
gcadmin setnodestate 172.16.6.101 unavailable
gcadmin rmfeventlog 172.16.6.101
2、创建中间distribution
a、查看distribution primary和segments,将当前的distribution id保存到distribution.xml文件中
gcadmin showdistribution node ||如果是vc|| gcadmin showdistribution vc vcname node
gcadmin getdistribution 1 distribution.xml
b、 修改新的distribution分布规则。原有分布规则不变,让被替换节点没有任何数据分片。比如
ip名用数字代替,要替换100,101,102 中的101, 将ip 101对应的全去掉,并变成主ip
主101备100 ,主100备102,主102备101
改为
主100备无 , 主100备102,主102备无
c、修改创建 distribution 所需的 xml 文件,参考gcChangeInfo.xml 。比如 gcChangeInfotmp.xml
<?xml version="1.0" encoding="utf-8"?>
<servers>
<cfgFile file="distribution.xml"/>
</servers>
gcadmin distribution gcChangeInfotmp.xml || gcadmin distribution gcChangeInfotmp.xml vc vc1
d、初始化并重分布(不会实际进行重分布)
登录后:-- use vc vc1
initnodedatamap;
rebalance instance ;
select * from gclusterdb.rebalancing_status;
4、 执行替换
./replace.py --host=172.16.6.101 --type=data --dbaUser=gbase --dbaUserPwd=gbase --generalDBUser=gbase --generalDBPwd=gbase20110531 --overwrite
5、检查状态,做数据重分布(会实际进行重分布)
gcadmin showdistribution node ||如果是vc|| gcadmin showdistribution vc vcname node
登录后:-- use vc vc1
rebalance instance ;
select * from gclusterdb.rebalancing_status;
6、删除旧的distribution
gcadmin rmdistribution 2 || 多vc参考|| gcadmin rmdistribution 2 vc vc1
二、停止节点替换
# 停止节点替换(软硬件异常、长时间不能完成节点替换操作等异常情况,才需要运行 replaceStop.py 脚本停止替换节点操
./replaceStop.py --host=1172.16.6.101 --type=coor --dbaUser=gbase --dbaUserPwd=gbase
评论
热门帖子
- 12025-12-01浏览数:182764
- 22023-05-09浏览数:25062
- 42023-09-25浏览数:18526
- 52020-05-11浏览数:17529