新版zookeeper迁移数据简单方法(在拿不到zookeeper快照情况下的方法)

刚刚在研究怎么把一台Centos服务器上的zookeeper数据迁移到另外一台机上,在网上找了很多方法和工具,都不实用,以及网上最多迁移zookeeper数据的方法是最新快照加最新的事务日志,但是在新版zookeeper中找不到快照数据,据说zookeeper会自动清理快照数据,然后我就猜想直接迁移事务日志可以吗,经过实验,成功通过迁移事务日志迁移了zookeeper的数据,具体操作流程如下:

声明:文中“源机”代表的是需要被迁移zookeeper数据的主机。

           文中“目标机”代表的是需要把源机的zookeeper数据迁移到的目标zookeeper所在的主机。

1.查看目标机的事务日志所在目录

cat /usr/local/zookeeper-3.4.14/conf/zoo.cfg

在该文件中找到dataDir或者dataLogDir项,该项代表的是事务日志所在的目录,一般是

dataDir=/var/lib/zookeeper

代表快照(如果有快照数据)和事务日志在该目录下。

2.暂停目标机的zookeeper服务,命令/usr/local/zookeeper-3.4.14/bin/zkServer.sh start

3.把目标机的/var/lib/zookeeper下数据全部删掉,或者只删/var/lib/zookeeper/version-2目录中所有事务日志。

4.找到源机的事务日志所在目录,我实验时候也是在/var/lib/zookeeper/version-2目录中,然后把事件日志所在目录/var/lib/zookeeper/version-2(包括里面的事件日志)复制到目标机的/var/lib/zookeeper/version-2。

5.然后,重启目标机的zookeeper服务,就发现目标机中zookeeper节点数据和源机中节点数据一样了。

 

总结:就是把源机的事件日志替换掉目标机的事件日志即可(在找不到zookeeper快照时候下实验通过,有快照,可能也要替换快照)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值