1. 程式人生 > 其它 >RabbitMQ 叢集資料遷移

RabbitMQ 叢集資料遷移

https://blog.51cto.com/u_15127701/2887892

RabbitMQ 叢集資料遷移,完成叢集A 到叢集B 的資料遷移。

RabbitMQ 官網有這麼一段話:

大致意思就是,在 3.7.0 版本之前,訊息是儲存在


queues, msg_store_persistent ,msg_store_transient
1.
目錄下。

因此叢集訊息遷移的思路,是備份這些資料夾。

然後還有一段話

大致意思是在恢復資料前,要先恢復元資料。

測試過程:

叢集A:

叢集A 佇列訊息:

訊息內容是:

“test xiaoming ”

叢集B:

沒有任何訊息,佇列。

資料恢復如下:

1.匯出叢集A 的元資料。rabbit_n1_2020-3-30.json

2. 將叢集A的元資料匯入到叢集B

3. 停掉叢集A,拷貝叢集A 的 n1 n2 n3 下的檔案


msg_store_persistent msg_store_transient, queues ,revovery.dets
1.
三臺機器上執行


service rabbitmq-server stop
1.
4. 停掉叢集B ,將 叢集A 的 n1 n2 n3 的檔案,分別拷貝到 叢集B 的 n1 n2 n3 檔案mnesia 目錄下。

5. 設定許可權

chown -R rabbitmq:rabbitmq msg_store_persistentchown -R rabbitmq:rabbitmq msg_store_transientchown -R rabbitmq:rabbitmq queues
1.
chown -R rabbitmq:rabbitmq revovery.dets
1.

1.
6.啟動叢集B的 n1 n2 n3

service rabbitmq-server start
1.

檢視 叢集B 的結果

可以看到資料恢復了,看下訊息是否正確。

這樣就完成了RabbitMQ叢集資料遷移。

參考資料:

https://www.rabbitmq.com/backup.html

https://www.rabbitmq.com/upgrade.html

https://www.rabbitmq.com/blue-green-upgrade.html

https://blog.51cto.com/u_15127701/2887892
RabbitMQ 叢集資料遷移
https://blog.51cto.com/u_15127701/2887892