2016-03-02 55 views
0

我已經設置了一個2節點的rabbitmq集羣,前端有一個loader平衡器,安裝完成後,它作爲主動/主動模式工作,然後網絡分區發生在一個節點上,我將故障節點從集羣中取出並重新加入它再次進入集羣,那麼這個失敗的節點不會接受任何連接。rabbitmq集羣如何將主動/主動更改爲主動/被動模式?

然後我試着將另一個節點移出平衡器,恢復的節點開始接受連接,所以這個集羣是主動/被動模式。

我不知道是什麼導致了這種情況,有沒有辦法將它改回主動/主動?以及在安裝過程中指定其模式的步驟?

感謝您的提前建議!

回答

0

rabbitmq真的(真的)不喜歡網絡分區。默認情況下,當你有一個時,一切都暫停。在這種情況下,你必須手動修復它。通過停止並啓動它來選擇失敗者應該在它重新加入羣集後恢復一切。

如果不工作,然後關閉失敗的節點,並使用rabbitmqctl爲「forget_cluster_node」,然後將其重新加入到集羣。

你應該閱讀這非常仔細地 https://www.rabbitmq.com/partitions.html 具體而言,

「從網絡分區進行恢復」然後更加認真閱讀下面幾段。有一些自動恢復模式,每種模式都有優點和缺點。

在我的公司,我們選擇autoheal因爲我們珍視的可用性,並接受消息的可能損失。