Cassandra管理之異機恢復

本文銜接上一篇Cassandra管理之備份與恢復,介紹如何進行cassandra異機恢復。這個異機恢復過程就是將舊庫的數據文件拷貝到新環境對應的目錄,然後啓動數據庫即可,但是在恢復之前還需要對新環境做一些必要的修改。這裏的環境是單機版,另外此方法也適用於集羣模式。

1、環境信息

Cassandra管理之異機恢復

2、獲取tokens

如果是集羣模式,需要獲取每個節點IP的tokens。這裏是單機版,獲取方法如下:

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

Cassandra管理之異機恢復
需要注意,以上命令執行出來的是一行,而不是多行。另外,新舊環境還必須確保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: 

Cassandra管理之異機恢復

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管理之異機恢復
Cassandra管理之異機恢復

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章