單令牌節點添加到集羣(十一)

單令牌節點添加到集羣

在單令牌體系結構羣集中添加節點的步驟,而不是vnodes。

要向羣集添加容量,分階段引入新節點或添加整個數據中心。使用以下方法之一:

  • 通過將簇大小加倍來增加容量:分配令牌時,通過加倍(或三倍或四倍)節點數來增加容量並不那麼複雜。使用這種方法,現有的節點保留現有的令牌分配,並且新的節點被分配令分號(或三等分)現有的令牌範圍的令牌。

  • 爲非統一數量的節點添加容量:使用此方法增加容量時,必須重新計算整個羣集的令牌,並將新令牌分配給現有節點。

注意:對於DataStax Enterprise羣集,可以使用OpsCenter 重新平衡羣集。

步驟

1.使用令牌生成工具根據您的擴​​展策略計算節點的 令牌。

2.安裝Cassandra並在每個新節點上配置Cassandra。

3.如果Cassandra自動啓動(Debian),請停止節點並清除數據。

4.在每個新節點上配置cassandra.yaml:

  • auto_bootstrap:如果爲false,則將其設置爲 true。
    該選項未在默認的cassandra.yaml配置文件中列出 ,默認爲true。

  • CLUSTER_NAME

  • listen_address / broadcast_address:通常留空。使用其他Cassandra節點用來連接到新節點的IP地址或主機名。

  • endpoint_snitch

  • initial_token:根據您的令牌計算設置。

    警告:如果這個屬性沒有任何價值,Cassandra會爲該節點分配一個隨機的令牌範圍,並導致嚴重的不平衡環。

  • seed_provider:確保新節點在現有集羣中至少列出一個種子節點。
    種子節點不能引導。確保新節點沒有在-seeds列表中列出。不要使所有節點都設置種子節點。見節間通訊(gossip)。

  • 更改新節點的所有非默認設置以匹配現有節點。使用 diff命令來查找和合並節點之間的任何差異。

5.根據不同的snitch,在每個節點的cassandra-topology.properties或 cassandra-rackdc.properties中分配數據中心和機架名稱 。

6.以兩分鐘的時間間隔在每個新節點上啓動Cassandra,並關閉consistent.rangemovement:

  • 軟件包安裝:對於每個引導節點,將以下選項添加到 /usr/share/cassandra/cassandra-env.sh文件,然後啓動Cassandra:
JVM_OPTS="$JVM_OPTS -Dcassandra.consistent.rangemovement=false
  • Tarball安裝:
$ bin / cassandra -Dcassandra.consistent.rangemovement = false

7.新節點完全引導後,使用nodetool move將新的initial_token值分配給每次需要一個節點的節點。

8.在所有節點都分配了新令牌之後,在羣集中的每個節點上運行nodetool cleanup,並在執行下一個節點之前等待每個節點上的清除操作完成。
此步驟將刪除不再屬於先前存在的節點的密鑰。

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