Mariadb

Mariadb 10.1 / Galera - 引導節點始終不會失去仲裁

  • November 8, 2018

我正在使用 mariadb10.1.37,wsrep_provider_version 25.3.24(r3825)。在我的開發集群(2node+1arbitrator)上,我發現了以下行為:

**node1:**引導新集群(使用 galera_new_cluster,pc.weight=3)

**node2:**加入集群(pc.weight=3)

**arbitrator:**加入集群(pc.weight =1)

所以,我有一個三節點集群,總 pc.weight 為 7。然後我這樣做:

**仲裁員:**關閉 garbd

**node2:**關閉 mysqld

在這一點上,我希望 node1 作為三個仍然活著的節點中的唯一一個,應該已經失去了 wsrep_cluster_status=Primary 狀態,並且不再接受寫入。

相反,我發現 wsrep_cluster_status = Primary, wsrep_cluster_size=1,但 node1 仍將接受寫入。

有什麼我想念的嗎?

提前致謝!

我不認為這是一個錯誤。就正常關機情況而言,這是一種預期的行為。如果您正在練習裂腦測試案例,那麼放棄其主要狀態是有意義的。

在您的情況下,會傳達有關其鄰近選民退出狀態的明確資訊。因此,軟體允許它為活動的節點 1 提供請求,因為其他節點的狀態是關閉的,並且會與節點 1 通信。

嘗試通過將 node1 與 node2+arbitor 連結隔離來執行 Split-Brain 場景,然後您應該會發現 node1 失去其主要狀態而 node2 獲勝,而仲裁者在其身邊投票。

引用自:https://dba.stackexchange.com/questions/222010