DSE版本4.8.2
我向数据集群添加了6个新节点,并添加了bootstrap:false。他们加入后,我正在对每个人进行重建。我相信1 NODE已完成,但控制台上的命令仍在“运行”(例如,我还无法运行另一个命令)。我想确保它完全完成。没有压缩,也没有活动到该单元的流。更新:现在已经过了4天,仍然处于命令提示符下。
除了compationstats和netstats之外还有什么我可能不知道的吗?我看到它流式传输数据,然后它压缩了它,但现在......
还有一个问题,在我完成重建后,清理是否还有其他任务我应该考虑完全同步群集?
更新:
当我尝试运行重建时,我不断收到以下错误。我将Ubuntu 14.04中的文件限制提高到200,000,但仍然出现错误。
INFO [MemtableFlushWriter:747] 2016-02-29 03:57:18,114 Memtable.java:382 - 完成冲洗 /media/slot02/cjd/match-b633b251a04f11e58b7b89a485a622c1/cjd-match-tmp-ka-127932-Data.db (71.866MiB)用于提交日志职位 ReplayPosition(segmentId = 1456708497054,position = 14141564)INFO [ScheduledTasks:1] 2016-02-29 03:58:33,573 ColumnFamilyStore.java:905 - 排队compaction_history:17177(0%)on-heap,0(0%)堆外信息[MemtableFlushWriter:748] 2016-02-29 03:58:33,574 Memtable.java:347 - 写作 Memtable-compaction_history @ 971836863(3.428KiB序列化字节,123 ops,开/关堆限制的0%/ 0%)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,position = 20942643)警告 [STREAM-IN- / 10.0.1.243] 2016-02-29 04:00:02,317 CLibrary.java:231 - 开(/媒体/ slot01 / CJD /匹配b633b251a04f11e58b7b89a485a622c1, O_RDONLY)失败,错误(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上有太多打开的文件) 方法)〜[na:1.8.0_72] at java.io.RandomAccessFile.open(RandomAccessFile.java:316) 〜[na:1.8.0_72] at java.io.RandomAccessFile中。(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] at 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.IncomingFileMessage $ 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) 〜[cassandra-all-2.1.11.908.jar:2.1.11.908] at org.apache.cassandra.streaming.ConnectionHandler $ IncomingMessageHandler.run(ConnectionHandler.java:250) 〜[cassandra-all-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。我可以尝试更高,但卡桑德拉暗示了10万的限制。
如果我不得不GUESS,问题是一个节点无法紧凑,因为在数据来自的节点上有2个磁盘已满。当它从那里提取重建数据时,它会拉动50,000个小文件,而不像其他节点拉1-2个更大的文件。也许这就是我必须首先解决的问题?
真的需要帮助......谢谢!
谢谢,
答案 0 :(得分:0)
我向数据集群添加了6个新节点,并添加了bootstrap:false
首先,这是错误的,根据文档,在向群集添加新节点时,您应该放置auto_bootstrap = true
见这里:http://docs.datastax.com/en/cassandra/2.1/cassandra/operations/ops_add_node_to_cluster_t.html
其次,建议一次一个或两个节点添加节点,而不是同时添加所有6个节点,因为它会给网络带来很大压力(因为数据流)
答案 1 :(得分:0)
确保您的ulimit设置正确
cat /proc/<DSE pid>/limits
我经常看到人们认为他们设置了ulimit配置但是为错误的用户做了。如果您检查特定进程ID,则可以100%确定。
答案 2 :(得分:0)
一个棘手的问题是,您通过limits.conf设置的任何内容都将被limits.d / cassandra.conf中的设置覆盖,因此请记住根据您的需要从那里编辑文件。
另外,正如@phact所提到的那样,通过上面的cat确保你所期望的确实存在。