复合节点做节点替换测试
https://www.gbase8.cn/10193
GBase 8a 多实例版本9.5.3节点替换操作过程记录
重装完os,设置opt tmp属主,环境设置脚本,创建gbase用户设置密码
1、gcware 节点替换步骤:
在 gcware 服务正常的节点上执行替换:
cd $GCWARE_BASE/gcware_server/
./gcserver.py --prefix=/opt --host=172.16.9.181 --dbaUser=gbase --dbaPwd=gbase2 --overwrite
gcware服务已经从CLOSE转为OPEN状态
准备新节点环境
1、新节点的 IP 与当前待替换节点 IP 相同
2、新节点的操作系统版本与当前的待替换节点相同
3、原有集群没有打过补丁
2、检查节点状态,集群状态应为 normal
gcadmin showcluster vc vc_ggjc
--
VIRTUAL CLUSTER MODE: NORMAL
设置被替换节点状态为 unavailable:
$ gcadmin setnodestate 172.16.9.181 unavailable
步骤 3:删除被替换节点的 feventlog。
$ gcadmin rmfeventlog 172.16.9.181
coor节点做替换
执行 replace.py 命令需要在集群中的一个Coordinator 节点,使用集群安装用户 dbauser 进行替换。
cd /opt/gcinstall/
$ ./replace.py --host=172.16.9.181 --type=coor --dbaUser=gbase --dbaUserPwd=gbase2 --generalDBUser=root --generalDBPwd= --overwrite --sync_coordi_metadata_timeout=30000 --retry_times=0
103节点报错:execute sync metadata command failed on node :['10.10.55.103']
拷贝安装包到103,在103执行replace.py成功。可能是环境问题
删除被替换节点的 feventlog
$ gcadmin rmfeventlog 172.16.9.181
创建中间distribution
gcadmin getdistribution 1 1.xml vc vc_ggjc
修改新的 distribution 的分布规则信息。
修改原则:让被替换节点没有任何分片,其他节点分片的分布规则不变,
若被替换节点存储的分片是作为主分片,则将该分片的备份分片节点修改为主分片节点,并删除 duplicatenodes 标签。
若被替换节点存储的分片是作为备份分片,则将该 duplicatenodes 标签删除。
执行创建新的 distribution
vi 2.xml
<?xml version="1.0" encoding="utf-8"?>
<servers>
<cfgFile file="1.xml"/>
</servers>
gcadmin distribution 2.xml vc vc_ggjc
--注意,不需要加p 1 d 1
| vc_ggjc | 1,3 | |
gcadmin showdistribution vc vc_ggjc node
初始化 hashmap 并进行数据重分布
gbase> use vc vc_ggjc;
gbase> initnodedatamap;
gbase> rebalance instance to 3;
查看 rebalance 状态:
gbase> select index_name,status,percentage,priority,host,distribution_id from gclusterdb.rebalancing_status;
gbase> select count(*),status from gclusterdb.rebalancing_status group by status;
设置并发数:
set global gcluster_rebalancing_concurrent_count=30
做完重分布检查
select count(*),status from gclusterdb.rebalancing_status group by status;
select count(*) from gbase.table_distribution where data_distribution_id =1;
--0
执行节点替换命令
cd /opt/gcinstall/
./replace.py --host=172.16.9.181 --type=data --dbaUser=gbase --dbaUserPwd=gbase2 --generalDBUser=root --generalDBPwd= --overwrite --vcname=vc_ggjc
完成后的集群信息如下:
$ gcadmin showdistribution vc vc_ggjc node
| vc_ggjc | 1,3 | |变成
| vc_ggjc | 3,4 | |
进行数据重分布
gbase> use vc vc_ggjc;
gbase> rebalance instance to 4;
做完重分布检查
select count(*),status from gclusterdb.rebalancing_status group by status;
select count(*) from gbase.table_distribution where data_distribution_id =1;
--0
删除旧的 distribution
确保所有数据 rebalance 完成后,可以将旧的 distribution 删掉
$ gcadmin rmdistribution 3 vc vc_ggjc
-----------------------------------
报错:环境问题导致
node [172.16.9.181] build data packet failed
build data packet failed
Error: execute ssh command failed, error no [1]
Error cause:
Traceback (most recent call last):
File "/tmp/gadm_cp_sys_tbl.py", line 1157, in <module>
main()
File "/tmp/gadm_cp_sys_tbl.py", line 1062, in main
if 0 != get_gcware_base():
File "/tmp/gadm_cp_sys_tbl.py", line 434, in get_gcware_base
gbase_instances_base = os.environ["GBASE_INSTANCES_BASE"]
File "/usr/lib64/python2.7/UserDict.py", line 23, in __getitem__
raise KeyError(key)
KeyError: 'GBASE_INSTANCES_BASE'
clear node [172.16.9.181] gbase.tar and plugin.tar failed, please remove it manually
sync data node metadata failed
check ip start ......
check ip end ......
原因:181节点的环境有问题导致的,gcadmin提示命令不存在
181节点。gbase_profile添加export GBASE_INSTANCES_BASE=/opt
热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25052
- 42023-09-25浏览数:18521
- 52020-05-11浏览数:17526