2016-10-01 19 views
1

我有卡桑德拉3.7與3卡桑德拉3節點集羣閒聊協議的問題,由於網絡波動

密鑰空間複製因子3個節點的集羣中的所有3個節點啓動並保持同步。當其中一個cassandra節點關閉時,我重新啓動它,節點與另一個節點同步。

現在我的問題是當一個節點出現網絡頻繁波動等問題時(cassandra仍在運行)。 假設節點1出現網絡問題,其他2個節點上的節點工具狀態顯示節點1已關閉。當網絡回到節點1 時,nodetool狀態顯示其他節點已關閉。

下面是我在cassandra.yaml文件中所做的配置更改。在節點1

Node 01 cluster_name: 'Test Cluster' num_tokens: 256 seed_provider: - class_name: org.apache.cassandra.locator.SimpleSeedProvider parameters: - seeds: "10.1.1.4,10.1.1.5,10.1.1.6" listen_address: 10.1.1.4 broadcast_address: 10.1.1.4 rpc_address: 0.0.0.0 broadcast_rpc_address: 10.1.1.4
Node02 cluster_name: 'Test Cluster' num_tokens: 256 seed_provider: - class_name: org.apache.cassandra.locator.SimpleSeedProvider parameters: - seeds: "10.1.1.4,10.1.1.5,10.1.1.6" listen_address: 10.1.1.5 broadcast_address: 10.1.1.5 rpc_address: 0.0.0.0 broadcast_rpc_address: 10.1.1.5
Node03 cluster_name: 'Test Cluster' num_tokens: 256 seed_provider: - class_name: org.apache.cassandra.locator.SimpleSeedProvider parameters: - seeds: "10.1.1.4,10.1.1.5,10.1.1.6" listen_address: 10.1.1.6 broadcast_address: 10.1.1.6 rpc_address: 0.0.0.0 broadcast_rpc_address: 10.1.1.6

Nodetool狀態時所述網絡是向上顯示,其它節點是向下(DN)。

其他節點上Nodetool狀態顯示節點1停機(DN)

如何在這種情況下閒聊協議的工作?

爲什麼網絡啓動時節點1與其他節點不同步?

請幫我解決這個問題。

由於事先

GKK

+0

無論您的網絡是時髦的還是您的節點過載和震盪。查看gc日誌和tp統計信息。密切關注八卦線程池。 – phact

回答

0

確保您使用的是Ec2MultiRegionSnitch打小報告,如果你正在使用AWS,或者打小報告合適。

此外,如果您使用的是AWS,則公共IP地址可能與私有IP地址不同,在這種情況下,您可能需要相應地修改listen_address:broadcast_address:值。

最後爲seeds值,我會省略源IP作爲種子的部分,換句話說:

Node 01 ... seed_provider: - class_name: org.apache.cassandra.locator.SimpleSeedProvider parameters: - seeds: "10.1.1.5,10.1.1.6" listen_address: 10.1.1.4 ...

Node02 ... seed_provider: - class_name: org.apache.cassandra.locator.SimpleSeedProvider parameters: - seeds: "10.1.1.4,10.1.1.6" listen_address: 10.1.1.5 ...

Node03 ... seed_provider: - class_name: org.apache.cassandra.locator.SimpleSeedProvider parameters: - seeds: "10.1.1.4,10.1.1.5" listen_address: 10.1.1.6 ...

0

嘗試降低數的種子。 1或2應該足夠了。順便說一句,在所有節點上使用相同的種子列表。