当前位置: 首页 > news >正文

GBase 8a集群替换ip工具使用方法

在线替换1个节点集群IP

coordinator节点刷快照:
python
import gcware
gcware.flush_statemachine()


最终类似于以下情形: /opt/IP/gcware/data/gcware


-rw-r--r-- 1 gbase gbase 48 1月 13 15:57 GCWARE_META.A
-rw-r--r-- 1 gbase gbase 39 1月 13 15:57 GCWARE_META.B
-rw-r--r-- 1 gbase gbase 320 1月 13 16:22 REDOLOG.89215
-rw-r--r-- 1 gbase gbase 320 1月 13 16:22 REDOLOG.89217
-rw-r--r-- 1 gbase gbase 2172 1月 13 16:23 REDOLOG.89219
drwxr-xr-x 3 gbase gbase 69 1月 13 16:22 SNAPSHOT.45.89216
drwxr-xr-x 3 gbase gbase 69 1月 13 16:22 SNAPSHOT.45.89218

工具使用时注意修改权限: chown -R gbase:gbase gcReplaceIp

[gbase@data1 rePlaceIp_py2]$ cat replaceip.options
installPrefix= /opt
coordinateHost = 192.168.56.175
dataHost = 192.168.56.175
gcwareHost = 192.168.56.175
dbaUser = gbase
dbaGroup = gbase
dbaPwd = 'gbase'
rootPwd = 'root123'
version = V953
#rootPwdFile = rootPwd.json
hostReplaceIpFile = hostReplaceIp.json

[gbase@data1 rePlaceIp_py2]$ cat hostReplaceIp.json
{
"HOSTREPLACEIP":[
{
"OLDIP":"192.168.56.175",
"NEWIP":"192.168.56.176"
}
]
}

在线切换集群为只读状态

[gbase@data1 ~]$ gcadmin switchmode readonly

========== switch cluster mode...
switch pre mode: [NORMAL]
switch mode to [READONLY]
switch after mode: [READONLY]

开始替换IP

[gbase@data1 rePlaceIp_py2]$ python gcReplaceIp.py --silent=replaceip.options
*********************************************************************************
Welcome to use GBase products
*********************************************************************************
hostList: ['192.168.56.175']
cluster version : 9.5.3.27.17
cluster ip version: ipv4
cluster target ip version: ipv4
('hostReplaceIpDict', {'HostReplaceIp': {'192.168.56.175': '192.168.56.176'}})
('hostNodeIdDict:', {'192.168.56.175': 2939726016})
stoping all gcware nodes...
TStopNodeOnV953:192.168.56.175 prefix:/opt
stoping all gcluster nodes...
TStopNodeOnV953:192.168.56.175 prefix:/opt

Refreshing snapshot,please wait...
start all gcware

Connection gcware successfully,get all nodes status end.


check gcware status
threadSnapShotBefore!!!
flush_statemachine!!!
threadSnapShotBack,host:['192.168.56.175']
threadSnapShotBack!!!
stop all gcware!!!
clear gcware sessions successfully.
Refresh snapshot successfully.
modify gcware file on 192.168.56.175 successfully.
run hostlist ['192.168.56.175']
replace cluster node ip successfull, please check and process network all node

Replace cluster node ip Successfully.


然后主机修改ip 此时服务都停了已经,手工拉起即可

最后 gcadmin

  • 离线方式(不建议使用)

这里只写差异,其他步骤与上同

主要就是快照比redolog版本号大 , 多刷几次 ,直到一个比另一个大 ,如下 : 89667>89666

[gbase@data1 gcware]$ ll
总用量 16
-rw-r--r-- 1 gbase gbase 48 1月 13 17:41 GCWARE_META.A
-rw-r--r-- 1 gbase gbase 39 1月 13 17:41 GCWARE_META.B
-rw-r--r-- 1 gbase gbase 320 1月 13 17:56 REDOLOG.89664
-rw-r--r-- 1 gbase gbase 480 1月 13 17:56 REDOLOG.89666
drwxr-xr-x 3 gbase gbase 69 1月 13 17:56 SNAPSHOT.51.89665
drwxr-xr-x 3 gbase gbase 69 1月 13 17:56 SNAPSHOT.51.89667


停服 (这是主要区别) :
gcluster_services all stop
gcware_services all stop


此时执行替换(带offline参数),有时会成功(成功时速度会比价快),有时会报错 ,【和集群版本有关系】 。

如这里报错,停服后redolog变大已经变成89669了,因此该方式不建议使用。

[gbase@data1 rePlaceIp_py2]$ python gcReplaceIp.py --silent=replaceip.options --offline
*********************************************************************************
Welcome to use GBase products
*********************************************************************************
hostList: ['192.168.56.177']
cluster version : 9.5.3.27.17
cluster ip version: ipv4
cluster target ip version: ipv4
start get host nodeid under offline cluster...
local node type is composition
confPath: /opt/192.168.56.177/gcware/data/gcware
maxSnapShotVer: 89667, redoLogVersion: 89669
Error: gcReplaceIp.py(line 4690) -- Snapshot max version less than RedoLog Version, REDOLOG must flush first, please flush statemachine again.

http://www.jsqmd.com/news/411328/

相关文章:

  • 总结2026年口碑不错的考研英语培训企业,排名情况如何? - myqiye
  • 返乡创业试点政策DID(2007-2023)
  • 现代化中医康复技术实训室功能与规划
  • 部门功能毕业添加,编辑和删除
  • 学生党知识点动画卡片,看图比背书快。
  • 【IET出版,EI检索稳定 | 长安大学、西南石油大学土木工程与测绘学院、中国城市经济学会基础设施与运维管理专业委员会支持举办】第二届工程管理与安全工程国际学术会议 (EMSE 2026)
  • GBase 8c数据库count(*)、count(1)与count(column_name)的异同
  • 职业技能培训:大数据分析师学员备考分享
  • 项目全流程文档管理规范(团队版)
  • 2026年专业的三相异步电机,车用电机,防爆电机厂家选型决策指南 - 品牌鉴赏师
  • 为什么说网站策划很重要?网站制作方案通常能解决什么?
  • Nmap 全网最细安装教程(Windows+Linux+Mac 三平台,保姆级不踩坑)
  • 【SPIE出版,EI,Scopus检索 | 国际化主讲嘉宾专题演讲 | 青岛市人工智能学会主办,IEEE SA 大数据标委会协办】2026年机器学习与大模型国际学术会议(ICMLM 2026)
  • 南大通用GBase 8s中UCASE()函数的介绍
  • github链接不可访问,转为国内链接
  • 在线GIF制作工具新手不会用?3分钟上手零基础也能做动图
  • 收藏!程序员/小白入门大模型不踩坑指南,转行+学习全攻略
  • 企业IT集成选型指南:四大阵营解析
  • 推荐江西低空技术与无人机应用学校,可靠的有哪些? - 工业品牌热点
  • 员工离职把“源码”带走了?低代码时代,我们需要谈谈“信任”
  • 自媒体聊天必备:视频转gif表情工具,一键生成流畅不卡顿
  • 一个Java程序员具备什么样的素质和能力才可以称得上高级工程师?
  • 分析路程网房车展,大型房车展门票多少钱、怎么领取? - 工业推荐榜
  • GIF体积太大无法上传微信?一招搞定高清不模糊
  • 2026年企业如何选择优质网站建设平台或服务商
  • BigDecimal从入门到精通!
  • 2026年天津健身品牌排名,艾克仕健身可靠吗,其服务和价格值得选吗 - myqiye
  • Excel 精度坑?15 位限制破解!用 SpreadJS 实现超精度计算 + 类 Excel 全体验
  • 英伟达开源DreamDojo:4.4万小时“梦境”,破解机器人数据鸿沟
  • Vue动态路由与路由参数传递的多种方式