2016-02-27 49 views
0

DSE版本4.8.2Cassandra ReBuild

我向數據集羣添加了6個新節點並將bootstrap:false。他們加入後,我正在進行重建。我相信1 NODE已完成,但控制檯上的命令仍在「運行」(例如,我現在還不能運行其他命令)。我想確保它完全完成。沒有壓縮,並且沒有流對該單元有效。更新:現在已經過了4天,仍然在命令提示符下。

除了compationstats和netstats之外,還有什麼可能是我錯過了嗎?我看到它流數據,然後它壓縮它,但現在.....

另一個問題,完全完成重建後,清理是否有任何其他任務,我應該考慮完全同步羣集?

UPDATE:

由於我嘗試運行重建我不斷收到以下錯誤。我將Ubuntu 14.04中的文件限制提高到了200,000,並且仍然出現錯誤。

INFO [MemtableFlushWriter:747] 2016年2月29日03:57:18114 Memtable.java:382 - 完成沖洗 /媒體/ slot02/CJD /匹配b633b251a04f11e58b7b89a485a622c1/CJD匹配-TMP-KA -127932-Data.db (71.866MiB),用於commitlog位置 ReplayPosition(segmentId = 1456708497054,位置= 14141564)INFO [ScheduledTasks:1] 2016年2月29日03:58:33573 ColumnFamilyStore.java:905 - 入列壓縮_history:17177(0%)on-heap,0(0%)off-堆INFO [MemtableFlushWriter:748] 2016-02-29 03:58:33,574 Memtable.java:347 - 寫入 Memtable-compaction_history @ 971836863(3.428KiB系列INFO [MemtableFlushWriter:748] 2016-02-29 03:58:33,575 Memtable.java:382 - 完成沖洗 /media/slot01 /system/compaction_history-b4dbb7b4dc493fb5b3bfce6e434832ca/system-compaction_history-tmp-ka-142-Data.db (0.000KiB),用於commitlog位置 ReplayPosition(segmentId = 1456708497058,位置= 20942643)WARN [STREAM-IN-/10.0.1.243 ] 2016-02-29 04:00:02,317 CLibrary.java:231 - open(/ media/slot01/cjd/match-b633b251a04f11e58b7b89a485a622c1, O_RDONLY)失敗,errno(24)。錯誤[STREAM-IN-/10.0.1.243] 2016-02-29 04:00:02,541 JVMStabilityInspector.java:117 - JVM狀態確定爲 會不穩定。由於: java.io.FileNotFoundException: /media/slot01/cjd/match-b633b251a04f11e58b7b89a485a622c1/cjd-match-tmp-ka-128371-Index.db (太多打開的文件)java.io.RandomAccessFile .open0(原生 方法)在 java.io.RandomAccessFile .java:243) 〜[na:1.8.0_72] at org.apache.cassandra.io.util.SequentialWriter。(SequentialWriter.java:78) 〜[cassandra-all-2.1.11.908.jar:2.1。 11.908] org.apache.cassandra.io.util.SequentialWriter.open(SequentialWriter.java:111) 〜[cassandra-all-2.1.11.908.jar:2.1。 11.908] at org.apache.cassandra.io.util.SequentialWriter.open(SequentialWriter.java:106) 〜[cassandra-all-2.1.11.908.jar:2.1.11.908] at org.apache.cassandra.io .sstable.SSTableWriter $ IndexWriter。(SSTableWriter.java:587) 〜[cassandra-all-2.1.11.908.jar:2.1.11.908] at org.apache.cassandra.io.sstable。SSTableWriter。(SSTableWriter.java:140) 〜[cassandra-all-2.1.11.908.jar:2.1.11.908] at org.apache.cassandra.io.sstable.SSTableWriter。(SSTableWriter.java:81) 〜[ cassandra-all-2.1.11.908.jar:2.1.11.908] at org.apache.cassandra.streaming.StreamReader.createWriter(StreamReader.java:135) 〜[cassandra-all-2.1.11.908.jar:2.1.11.908 ] at org.apache.cassandra.streaming.compress.CompressedStreamReader.read(CompressedStreamReader.java:80) 〜[cassandra-all-2.1.11.908.jar:2.1.11.908] at org.apache.cassandra.streaming。 messages.IncomingFileMessage $ 1.deserialize(IncomingFileMessage.java:48) 〜[cassandra-all-2.1.11.908.jar:2.1.11.908] at org.apache.cassandra.streaming.messages.IncomingFileMessag e $ 1.deserialize(IncomingFileMessage.java:38) 〜[cassandra-all-2.1.11.908.jar:2.1.11.908] at org.apache.cassandra.streaming.messages.StreamMessage.deserialize(StreamMessage.java:56) 〜[卡桑德拉-全2.1.11.908.jar:2.1.11.908]在 org.apache.cassandra.streaming.ConnectionHandler $ IncomingMessageHandler.run(ConnectionHandler.java:250) 〜[卡桑德拉-全2.1.11.908。 jar:2.1.11.908] at java.lang.Thread.run(Thread.java:745)[na:1.8.0_72] INFO [Thread-2] 2016-02-29 04:00:02,543 DseDaemon.java: 418 - DSE關閉...

我的OpenFile限制目前是從ulimit -a 200,000。我可以嘗試提高,但卡桑德拉建議100,000限制。

如果需要GUESS,則由於在數據來自的節點上有2個磁盤已滿,所以問題是一個節點不能緊湊。當它從那裏拉出重建數據時,它拉動了50,000個小文件,而不像其他節點拉動1-2個更大的文件。也許這就是我必須先解決的問題?

真的需要幫助...謝謝!

謝謝,

回答

0

我加入6-新節點與數據羣集,並把自舉:假

首先,這是錯誤的,根據該文檔,添加新節點時集羣,你應該把auto_bootstrap = true

在這裏看到:http://docs.datastax.com/en/cassandra/2.1/cassandra/operations/ops_add_node_to_cluster_t.html

其次,建議增加點頭因爲它會對網絡施加很大的壓力(因爲數據流)

+0

doanduyhai,雖然我完全同意你的說法。使用auto_bootstrap加入集羣時,我遇到了一些棘手的問題:true。在我閱讀的其他文章中,他們表示設置爲假,一旦完成就重建。每次我嘗試加入時,我都會得到java-heap-out錯誤。每個節點有16個內核和40GB的RAM。我是否應該重新嘗試設定爲真實並現在重新加入?儘管已經有一些數據已經添加到新節點中。 –

+0

您是否同時添加一個節點或一個節點? – doanduyhai

+0

我在同一時間添加它們(或3,然後3)。目前,我正在CASS4節點上運行一個清理,該節點有兩個已裝滿的驅動器。我們確實運行復制= 2,所以希望這意味着它將從另一個節點提取數據,如果沒有的話,也不會損壞犯規。一次添加一個節點至關重要? –

0

請確保您的ulimit設置正確

cat /proc/<DSE pid>/limits 

我經常看到有人認爲他們設置了ulimit配置但是爲錯誤的用戶做了這個。如果你檢查具體的進程ID,你可以100%確定。

0

一個棘手的問題是,無論您將通過limits.conf設置,它們都會被limits.d/cassandra.conf中的設置覆蓋,因此請記住根據需要編輯文件。

另外,正如@phact提到的那樣,通過上面的貓確定你期望的確存在。