2013-10-24 20 views
0

我們有一個6節點的cassandra 1.2.10集羣,運行在具有NetworkTopologyStrategy的aws上,複製因子3和EC2Snitch。每個AWS可用區域中都有2個節點。集羣中一個EC2節點的停用會導致其他節點DOWN/UP並導致「可能不夠複製...」

當我們讀取或寫入與仲裁的一致性數據到集羣,同時退役,我們正在「可能不存在處理一致性水平足夠副本」的一個節點。

這是沒有意義的,因爲我們只有一個節點向下,我們有三個RF,所以即使我們將一個節點按照法定讀/寫寫下來,應該仍然有足夠的節點與數據(2)。

查看cassandra日誌一個服務器,我們不退役,我們在另一個節點的退役期間看到這個。

INFO [GossipTasks:1] 2013-10-21 15:18:10,695 Gossiper.java (line 803) InetAddress /10.0.22.142 is now DOWN 
INFO [GossipTasks:1] 2013-10-21 15:18:10,696 Gossiper.java (line 803) InetAddress /10.0.32.159 is now DOWN 
INFO [HANDSHAKE-/10.0.22.142] 2013-10-21 15:18:10,862 OutboundTcpConnection.java (line 399) Handshaking version with /10.0.22.142 
INFO [GossipTasks:1] 2013-10-21 15:18:11,696 Gossiper.java (line 803) InetAddress /10.0.12.178 is now DOWN 
INFO [GossipTasks:1] 2013-10-21 15:18:11,697 Gossiper.java (line 803) InetAddress /10.0.22.106 is now DOWN 
INFO [GossipTasks:1] 2013-10-21 15:18:11,698 Gossiper.java (line 803) InetAddress /10.0.32.248 is now DOWN 

最終我們看到一條消息,看起來像這樣。

INFO [GossipStage:3] 2013-10-21 15:18:19,429 Gossiper.java (line 789) InetAddress /10.0.32.248 is now UP 

對於每個節點。所以最終羣集中的其餘節點會恢復生機。

當這些節點關閉時,我可以看到爲什麼我們得到「可能不夠複製...」消息。因爲一切都停止了。

我的問題是爲什麼關於這些節點的閒話關機,我們不是首先退役?

回答

2

閒話正在關閉,因爲沒有從對等方收到多個心跳消息。通常這是由於主機上的計劃過多造成的。 CPU,網絡或磁盤可能負擔過重。

在這裏DataStax我們正在努力使這個和其他情況下的Gossip狀態機更健壯。如果您是DataStax客戶,請與技術支持人員聯繫以獲得跟蹤和最快解決方案。

相關問題