2017-06-10 98 views
0

我是Cassandra的新手,使用最新的Cassandra 3.10。我有3個節點可以鏈接參與Cassandra。集羣名稱測試集羣與三個節點相同。同一個數據中心DC1,機架如同RACK1和打小報告爲使用。它提供配置Cassandra 3節點配置

節點A GossipingPropertyFileSnitch

-seeds: 「A,B,C的地址」

listen_address & rpc_address與A節點相同ip地址

節點B:

-seeds: 「A,B,C的地址」

listen_address & rpc_address相同至B節點的IP地址

節點C:

-seeds:「A,B ,C地址「

listen_address & rpc_address與C節點相同ip地址

我這樣做的可能性在這裏列出

i)假設如果A節點失敗從節點B和C獲取數據。

ii)如果任何一個或兩個節點故障從另一個節點獲取數據。如何配置這些節點。

我已經使用複製因子3使用的簡單策略。 如果節點故障從另一個節點獲取節點數據,那麼種子地址或錯誤?簡要解釋該怎麼做。

+0

您可以使用DataStax OpsCenter爲您配置和安裝Cassandra,或者閱讀DataStax文檔 –

+0

是的,我已閱讀但很難將種子地址和複製因子複製 –

+0

複製因子=需要多少數據副本。在一個小羣集中,您不需要3的因子......種子地址只需要在一個小羣集中成爲單個(外部)IP地址。所有節點必須具有相同的種子(至少這是我如何配置它) –

回答

0

回答您的問題:

如果一個節點A出現故障,那麼你要取從節點B和C.
數據如果一個或兩個節點出現故障,你想從其他節點獲取數據。

爲了達到上述目的,您配置的複製因子足以處理節點故障。錯誤的配置將所有節點都作爲種子節點。

種子節點用於引導其他節點。因此,通常首先在數據中心首先啓動第一個節點作爲種子節點。假設你有2個數據中心。然後,您應該有2個種子節點,如下面的datastax文檔中所述: http://docs.datastax.com/en/cassandra/3.0/cassandra/initialize/initSingleDS.html

根據您最後的評論,您提到了「檢測到模式版本不匹配」。這意味着您的所有節點都不在同一個羣集中。當所有節點運行時使用nodetool檢查模式

nodetool describecluster 

這應該給節點模式版本。所有節點應該是相同的模式版本。
因此,如果任何一個節點沒有相同的版本,則重新啓動節點,直到模式版本相同。

修復此架構錯誤後,您將能夠創建密鑰空間。