Cassandra管理之异机恢复

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Cassandra管理之异机恢复相关的知识,希望对你有一定的参考价值。

本文衔接上一篇Cassandra管理之备份与恢复,介绍如何进行cassandra异机恢复。这个异机恢复过程就是将旧库的数据文件拷贝到新环境对应的目录,然后启动数据库即可,但是在恢复之前还需要对新环境做一些必要的修改。这里的环境是单机版,另外此方法也适用于集群模式。

1、环境信息

技术图片

2、获取tokens

如果是集群模式,需要获取每个节点IP的tokens。这里是单机版,获取方法如下:

[root@db03 ~]# nodetool ring | grep -w 192.168.120.83 | awk ‘{print $NF ","}‘ | xargs

技术图片
需要注意,以上命令执行出来的是一行,而不是多行。另外,新旧环境还必须确保num_tokens参数的值保持一致。

3、安装cassandra

odb04上新安装cassandra,安装完成后,暂不启动。

[root@odb04 ~]# yum -y install cassandra cassandra-tools

4、同步旧库的配置文件

由于新库是全新安装的,所以直接同步旧库的配置文件,做少量修改即可。

[root@db04 ~]# scp 192.168.120.83:/etc/cassandra/default.conf/cassandra.yaml /etc/cassandra/default.conf/
[root@db04 ~]# scp 192.168.120.83:/etc/cassandra/default.conf/cassandra-env.sh /etc/cassandra/default.conf/
[root@db04 ~]# scp 192.168.120.83:/root/.cassandra/cqlshrc /root/.cassandra

修改cassandra.yaml文件,主要修改以下几条,替换旧IP为新IP;initial_token值为第二步获取到的每个IP的tokens。

seeds: "192.168.120.84"
listen_address: 192.168.120.84
rpc_address: 192.168.120.84
initial_token: 

技术图片

5、停止旧库并同步数据文件

停止源环境的旧库,并拷贝数据文件到目标环境的对应目录:

[root@db03 ~]# systemctl stop cassandra
[root@db03 ~]# scp -r /var/lib/cassandra/data/* 192.168.120.84:/var/lib/cassandra/data/

6、启动新库并验证

[root@db04 ~]# systemctl start cassandra
[root@odb04 ~]# cqlsh 192.168.120.84

技术图片
技术图片

以上是关于Cassandra管理之异机恢复的主要内容,如果未能解决你的问题,请参考以下文章

rman恢复方案和oracle异机恢复

Linux平台下RMAN异机恢复总结

RAC异机恢复

Oracle异机恢复处理

RAC+ADG 异机恢复报错-ORA-16072

热备份恢复及异机恢复