2017-05-08 46 views
0

我從我的cassandra機器創建了一個AMI,然後啓動了一個新實例。在啓動cassandra並執行節點工具狀態後,進行配置更改(將種子節點設置爲第一個節點,並設置auto_bootstrap:false)後,它會在兩個節點上顯示數據。我只想知道集羣是否真的知道兩個節點都有數據,並且請求是否可以將其路由到第二個節點。通過手動複製數據來縮放Cassandra

由於沒有手動複製數據,流式傳輸實際上並未完成。它在某段時間後以某種方式管理失敗,然後我必須再次運行'nodetool bootstrap resume'來重新啓動自舉程序,該程序又失敗了。

回答

0

我不認爲這應該這樣工作(所有的複製的東西)。

爲什麼你不能執行正常的引導?當您嘗試執行此操作時,日誌中的錯誤消息是什麼?什麼是您的密鑰空間的RF?

除了您的數據,Cassandra還會保存關於磁盤上節點的信息,所有系統表(例如節點ID),因此您不能複製圖像。如果您複製了cassandra映像,並且只是更改了配置,這將無法工作,您應該在啓動節點並加入羣集之前刪除所有數據。

編輯:

如果用auto_bootstrap打算:關

  1. 刪除全部來自新服務器的數據(數據和提交日誌目錄)。
  2. 啓動節點,並在加入後運行重建。
  3. 該過程完成後運行修復。

如果用auto_bootstrap打算:在

  1. 刪除全部來自新服務器的數據(數據和提交日誌目錄)。
  2. 啓動節點並監視引導。

嘗試這些之前,請刪除不能從集羣添加的節點。

+0

我試圖做正常的bootstraping,但一段時間後它會停止。日誌中沒有錯誤或類似的東西。複製因子爲2. – sanjeev

+0

停止引導後,我嘗試執行'nodetool bootstrap resume',然後再次從頭開始流式傳輸,基本上一次又一次地傳輸相同的文件。我陷入了這一個星期,但這個過程並沒有完成。 – sanjeev

+0

請查看編輯答案。 – nevsv