2

由於該節點需要進行OS升級,因此希望解除cassandra節點的使用權。Cassandra nodetool停止使用

我登錄到該節點。執行停止使用命令和幾分鐘後,我得到的控制檯

nodetool decommission 

error: Stream failed 
-- StackTrace -- 
org.apache.cassandra.streaming.StreamException: Stream failed 
    at org.apache.cassandra.streaming.management.StreamEventJMXNotifier.onFailure(StreamEventJMXNotifier.java:85) 
    at com.google.common.util.concurrent.Futures$4.run(Futures.java:1172) 
    at com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:297) 
    at com.google.common.util.concurrent.ExecutionList.executeListener(ExecutionList.java:156) 
    at com.google.common.util.concurrent.ExecutionList.execute(ExecutionList.java:145) 
    at com.google.common.util.concurrent.AbstractFuture.setException(AbstractFuture.java:202) 
    at org.apache.cassandra.streaming.StreamResultFuture.maybeComplete(StreamResultFuture.java:208) 
    at org.apache.cassandra.streaming.StreamResultFuture.handleSessionComplete(StreamResultFuture.java:184) 
    at org.apache.cassandra.streaming.StreamSession.closeSession(StreamSession.java:412) 
    at org.apache.cassandra.streaming.StreamSession.onError(StreamSession.java:507) 
    at org.apache.cassandra.streaming.StreamSession.start(StreamSession.java:229) 
    at org.apache.cassandra.streaming.StreamCoordinator$StreamSessionConnector.run(StreamCoordinator.java:208) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:745) 

這個例外,我不敢肯定異常意味着什麼,我打算以驗證是否退役成功通過nodetool netstatsnodetool狀態 whoose輸出在下面。在這兩個地方說LEAVING,我如何確認它是否完整。

nodetool netstats 
Mode: LEAVING 
Not sending any streams. 
Read Repair Statistics: 
Attempted: 1 
Mismatch (Blocking): 0 
Mismatch (Background): 0 
Pool Name     Active Pending  Completed 
Commands      n/a   0    26 
Responses      n/a   0   758780 

nodetool status 
Datacenter: DC1 
=============== 
Status=Up/Down 
|/ State=Normal/Leaving/Joining/Moving 
-- Address  Load  Tokens Owns Host ID        Rack 
UL x.x.x.x 1.02 MB 256  ?  377869a9-d01c-4b7d-a24c-dbb90afee3d8 RAC1 

我的卡桑德拉版本是2.1.8。找到一個參考錯誤https://issues.apache.org/jira/browse/CASSANDRA-10371,它表示這些更改可能需要72小時才能反映出來。

我應該assassinate the node作爲Removing a node doc

回答

3

提到如果您沒有看到節點nodetool status,那麼它的證實,它的完成。如果沒有,那麼您可以嘗試nodetool removenode從集羣中刪除該節點。 nodetool assassinate是您從羣集中刪除節點的最後一個選項。如果nodetool removenode未能從集羣中刪除節點,則我們使用nodetool assassinate刪除節點。

錯誤問題:要查看此錯誤的詳細信息,cat /install_directory/apache-cassandra-2.1.8/logs/system.log | grep ERROR

你的節點無法流與其他節點的數據。這種類型的問題出於許多原因,例如:用戶進程限制(nproc)。找到有關您的問題的更多細節,找出您的錯誤原因。

+0

非常感謝。它在查看system.log後幫助調試。其中一個羣集節點下降到哪個流失敗。 –

相關問題