GBase 8a
安装配置
文章

节点替换步骤

发表于2026-04-10 22:35:2421次浏览8个评论

1. 设置节点状态并清理 feventlog
  检查节点状态,集群状态应为 normal,Coordinator 节点状态,然后正常设置被替换 节点状态为 unavailable 状态
  gcadmin showcluster
  gcadmin rmfeventlog 192.168.17.166
  gcadmin setnodestate 192.168.17.166 unavailable 
 

2. 编辑中间的 distribution

  gcadmin getdistribution 1 distribution_info_vc1.xml
  编辑distribution_info_vc1.xml文件
<?xml version='1.0' encoding="utf-8"?>
<distributions>
   <distribution>
       <segments>
           <segment>
               <primarynode ip="192.168.17.164"/>

               <duplicatenodes>
                   <duplicatenode ip="192.168.17.165"/>
               </duplicatenodes>
           </segment>

           <segment>
               <primarynode ip="192.168.17.165"/>


           </segment>

           <segment>
               <primarynode ip="192.168.17.164"/>


           </segment>

           <segment>
               <primarynode ip="192.168.17.164"/>


           </segment>

           <segment>
               <primarynode ip="192.168.17.165"/>

               <duplicatenodes>
                   <duplicatenode ip="192.168.17.164"/>
               </duplicatenodes>
           </segment>

           <segment>
               <primarynode ip="192.168.17.165"/>


           </segment>
       </segments>
   </distribution>
</distributions>


3. 创建中间distribution

    确认配置文件调用正确
    gcChangeInfo_vc1.xml
    <?xml version="1.0" encoding="utf-8"?> 
    <servers> 
    <cfgFile file="distribution_info_vc1.xml"/> 
    </servers>

    创建distribution (编号为2)
    gcadmin distribution gcChangeInfo_vc1.xml

4. 初始化 hashmap 
initnodedatamap;

5. 重分布
rebalance instance;

6. 检查重分布是否完成 (重分布很快,不会发生实际数据转移)
select count(1) from gclusterdb.rebalancing_status where status <> ‘COMPLETED’

 

7. 执行节点替换命令 (distribution 会经历2 -> 3 )
./replace.py --host=192.168.17.166 --type=data --dbaUser=gbase --dbaUserPwd=1qazse432 --generalDBUser=gbase --generalDBPwd=gbase20110531 --overwrite

 

8. 数据重分布
  rebalance instance
  
9. 检查重分布是否完成 (实际迁移数据)
  select count(1) from gclusterdb.rebalancing_status where status = 'COMPLETED'

10. 删除旧的 distribution
    refreshnodedatamap drop 2
    gcadmin rmdistribution 2

评论

登录后才可以发表评论
用户头像
柒柒天晴发表于 3个月前
11
GBase用户47954发表于 3个月前
感谢作者的精彩分享!
GBase用户21143发表于 3个月前
挺好!
GBase用户21143发表于 3个月前
3
GBase用户21143发表于 3个月前
4
GBase用户21143发表于 3个月前
5
曾云林发表于 2个月前
厉害了
GBase用户51848发表于 2个月前
来了