1. 程式人生 > 其它 >JAVA 使用者互動Scanner及常用函式

JAVA 使用者互動Scanner及常用函式

轉載

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

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

RabbitMQ  官網有這麼一段話:

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

  queues, msg_store_persistent ,msg_store_transient

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

然後還有一段話

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

 

測試過程:

叢集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
 

三臺機器上執行

  service rabbitmq-server stop 

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

  chown -R rabbitmq:rabbitmq revovery.dets

6.啟動叢集B的 n1 n2 n3

service rabbitmq-server start

檢視 叢集B 的結果

 

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

 

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

 

參考資料:

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

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

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