2017-04-19 87 views
0

我通過創建種子節點並開始重建它(nodetool重建)命令,向Cassandra羣集添加了一個新節點。雖然節點很快加入了羣集,但是從所選節點中的所有節點開始流式傳輸的重建過程導致整個dc節點變慢。對應用程序的影響是嚴重的。我將不得不停止重建過程,以保持正常運行!!cassandra 2.2.8:如何以最小的影響將節點添加到cassandra數據中心/羣集

在這裏,我正在尋求建議,如果你們可以分享方法/技巧,以儘量減少(節點重建)操作對其餘dc節點和應用程序的影響。

我將非常感謝您的建議 - 感謝您提前閱讀我的消息和您的幫助。

+0

據此,您只需向集羣添加更多節點:http://grokbase.com/t/cassandra/user/163y4cdfqh/speeding-up-nodetool-rebuild –

回答

1

據我所知,您添加了一個節點作爲種子節點,因此它不會立即引導並加入羣集。雖然方法適合快速加入集羣,但缺點是,它不會引導,因此不會複製其負責的其他節點的所有數據。當您在該節點上運行重建時,會從其他節點盲目複製數據(不進行任何驗證),這會扼殺現有節點吞吐量和網絡管道。此方法非常安全,建議在添加新DC時使用,但在向現有DC添加節點時不推薦使用。

當您添加節點時,最簡單的方法是使用此處所述的過程添加節點。 https://docs.datastax.com/en/archived/cassandra/2.0/cassandra/operations/ops_add_node_to_cluster_t.html

當節點引導時,它將複製其他節點需要的數據,但在完全引導並驗證數據之前不會開始客戶端連接。因此,一次添加一個節點並讓它啓動,以便複製和驗證所有必要的數據。完成添加所需的節點數後,對所有先前加入的節點執行清理,以清除舊節點不負責的所有密鑰。

+0

謝謝Vincent Khedkar的回覆。非常感謝你的見解 – Asad

2

在添加新節點時,您不應將其作爲種子節點。種子節點用於引導其他節點並將其加入到羣集中。將新節點作爲種子節點將不允許加入羣集中的新節點。按照以下鏈接中提供的Cassandra文檔中提供的步驟操作。

https://docs.datastax.com/en/archived/cassandra/2.0/cassandra/operations/ops_add_node_to_cluster_t.html

這是集羣中添加新節點的最佳途徑。

注意:確保新節點沒有列在-seeds列表中。不要製作所有節點種子節點。請閱讀節間通信(八卦)。

+0

[將新節點作爲種子節點將不允許加入羣集中的新節點。]我可以不同意,你聲稱是不正確的。我已經通過這個練習,即將新節點作爲種子節點,因此它跳過引導程序並迅速加入羣集..該部分已經結束..在這裏我正在尋求指導,以便如何減輕導致節點重建操作的影響在參考的DC節點上應變 – Asad

+0

爲什麼要重建節點?在添加新數據中心時重建是必要的,但向現有羣集添加新節點不需要重建。您必須運行清理並運行修復以確保羣集具有所需數量的副本。 –

相關問題