Doris集群: 1台follower 、 3台BE
需求背景:
公司因技术需要修改内网ip网段,Doris集群ip变更步骤:
1、关闭doris集群 所有Be 、Fe
2、切换IP地址
3、修改fe 的conf中的ip,metadata_failure_recovery=true
4、注释ROLE的name (0.14.0版本没有修改没出现问题,0.14.12版本不改发现集群Fe启动失败)
5、启动改过ip后的fe ,进入mysql客户端,
ALTER SYSTEM ADD FOLLOWER "更改后的ip:9011"; #添加FE节点
ALTER SYSTEM DROP FOLLOWER "更改前的ip:9011"; #删除旧FE节点
6、退出客户端 关闭fe
7、修改fe配置 将 metadata_failure_recovery=false ,重启fe
8、进入mysql客户端 添加be
ALTER SYSTEM ADD BACKEND "更改后的ip1:9051"; ALTER SYSTEM ADD BACKEND "更改后的ip2:9051"; ALTER SYSTEM ADD BACKEND "更改后的ip3:9051";
9、修改BE conf文件中节点host ,并挨个启动
10、进入mysql客户端删除旧的BE
ALTER SYSTEM DROPP BACKEND "更改前的ip1:9051"; #删除BE
ALTER SYSTEM DROPP BACKEND "更改前的ip2:9051";
ALTER SYSTEM DROPP BACKEND "更改前的ip3:9051";
问题:想问下大佬们
1、这个过程中数据会不会丢失,我们测试小数据量没有发现问题,大数据量情况下没试过
2、第四步操作是否有问题
3、有没有什么更好的方法
我试过了,按照上面的步骤,小数据量没问题,但是大数据量,存在数据丢失的情况(大概0.5% 左右的数据没了)。
我这边也有备份到远程仓库,但是后面broker 恢复的时候出了问题,到现在没解决。
建议备份的时候,也备份一份 能够自己代码解析的数据到hdfs中,防止出现问题后,数据恢复不了。
其实我们没有做过原地变更ip的操作。。。目前doris也没有特别的支持这样的功能。。
看上去似乎没有问题,但不敢保证没有风险。
如果可以,建议使用额外的一批机器,通过扩容缩容的方式进行变更。如果数据量合适,也可以使用备份恢复的方式重新迁移一遍数据。