2015-11-02 76 views
0

我有一個運行版本2.0.9的cassandra集羣。 自開始以來,Nodetool一直未運行(因爲未要求安排這些修復)。每個節點都有8GB左右的數據。這對我來說似乎很小。 當我嘗試運行nodetool修復它似乎需要永遠(2天后沒有完成)。cassandra nodetool修復/升級

我沒有看到任何進展。我一直在閱讀線程,他們告訴你檢查compactionstats和netstats,但那些表明沒有流量。但是,nodetool修復命令永遠不會退出。這對我來說不正常。我收到有關正在修復的系統密鑰空間的信息,並且沒有問題。但是,我們放入的實際數據不會返回任何內容。 所有節點都已啓動。我檢查了system.log(CentOS 6 BTW)是否有錯誤,並且沒有。我已經啓動了一個命令來檢查命令和響應的數量是否仍然在增加(這種情況),但是我想知道這是否可能來自其他方面,或者這是否與節點工具修復直接相關。 似乎沒有任何IO /網絡飽和。 因此,昨天我再次使用工具range-repair.py開始修復。 最近12小時內沒有額外的輸出。 去年產量爲:

INFO  2015-11-01 20:55:46,268 repair    line: 296 : [1/256] repairing range (-09214247901397780884, -09166106147119295777) in 100 steps for keyspace <all> 

的主要問題與此修復到永遠(或者只是修爲雄)是我們要升級的應用程序部署卡桑德拉。該過程說先做一個nodetool修復。在開始升級之前,這實際上是否必要?也許nodetool工作效率更高(您現在也有增量選項)。

誰能幫我這裏?提前感謝!

+0

你檢查了system.log嗎? – piotrwest

+0

是的。它只是站在那裏,並沒有進一步的修復更新。 – th3penguinwhisperer

回答

1

我不確定這是否完全解決了這個問題,但是在整個集羣滾動重啓之後,似乎nodetool修復能夠完成之前沒有的地方。對於另一個密鑰空間,我得到了一個問題,我不得不一遍又一遍地開始這個過程以獲得任何進展。我使用了range_repair.py,它允許我跳到某個標記,這樣我就可以慢慢上去。 最後我使用了dry-run和steps選項(1步),並將其指向一個文件。然後我用sed過濾了第一列並執行了該文件。如果該命令似乎掛起,則可以記下它,然後按CTRL-C並再次運行。一般來說,它成功了我第二次或第三次運行它。