首页 文章

Cassandra:数据未在新节点上复制

提问于
浏览
1

我向我的cassandra集群添加了一个新节点(新节点不是种子节点) . 我现在在我的集群上有3个节点:

Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address       Load       Tokens       Owns (effective)  Host ID                               
Rack

UN  XXX.XXX.XXX.XXX  52.25 GB   256          100.0%            XXX  rack1

UN  XXX.XXX.XXX.XXX  63.65 GB   256          100.0%            XXX  rack1

UN  XXX.XXX.XXX.XXX  314.72 MB  256          100.0%            XXX  rack1

我的复制因子为3:

DESCRIBE KEYSPACE mykeyspace

CREATE KEYSPACE mykeyspace WITH replication = {'class': 'NetworkTopologyStrategy', 'datacenter1': '3'}  AND durable_writes = true;

但数据未在新群集(具有314 MB数据的节点)上复制 .

我尝试使用nodetool rebuild:

ERROR [STREAM-IN- / XXX.XXX.XXX.XXX] 2016-11-11 08:28:42,765 StreamSession.java:520 - [Stream#0e7a0580-a81b-11e6-9a1c-6d75503d5d02] java出现流错误 . lang.IllegalArgumentException:在org.apache的org.apache.cassandra.streaming.messages.StreamMessage $ Type.get(StreamMessage.java:97)〜[apache-cassandra-3.1.1.jar:3.1.1]中的未知类型0 .cassandra.streaming.messages.StreamMessage.deserialize(StreamMessage.java:58)〜[apache-cassandra-3.1.1.jar:3.1.1] at org.apache.cassandra.streaming.ConnectionHandler $ IncomingMessageHandler.run(ConnectionHandler . java:261)〜[apache-cassandra-3.1.1.jar:3.1.1] at java.lang.Thread.run(Thread.java:745)[na:1.8.0_74] ERROR [Thread-16] 2016- 11-11 08:28:42,765 CassandraDaemon.java:195-线程中的异常Thread [Thread-16,5,RMI Runtime] java.lang.RuntimeException:com.google.common.base.Throwables中的java.lang.InterruptedException . 在org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java)传播(Throwables.java:160)〜[guava-18.0.jar:na] 32)〜[apache-cassandra-3.1.1.jar:3.1.1]在java.lang.Thread.run(Thread.java:745)〜[na:1.8.0_74]引起:java.lang.InterruptedException: null.at java.util.concurrent.locks.AbstractQueuedSynchronizer $ ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:2014)〜[na:1.8.0_74] at java.util.concurrent.locks.AbstractQueuedSynchronizer $ ConditionObject.await(AbstractQueuedSynchronizer.java:2048 )〜[na:1.8.0_74] at java.util.concurrent.ArrayBlockingQueue.put(ArrayBlockingQueue.java:353)〜[na:1.8.0_74] at org.apache.cassandra.streaming.compress.CompressedInputStream $ Reader.runMayThrow (CompressedInputStream.java:184)〜[apache-cassandra-3.1.1.jar:3.1.1] org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)〜[apache-cassandra-3.1 . 1.jar:3.1.1] ...省略了1个常用帧INFO [STREAM-IN- / XXX.XXX.XXX.XXX] 2016-11-11 08:28:42,805 StreamResultFuture.java:182 - [Stream#0e7a0580 -a81b-11e6-9a1c-6d75503d5d02]与/XXX.XXX.XXX.XXX的会话已完成WARN [STREAM-I N / XXX.XXX.XXX.XXX] 2016-11-11 08:28:42,807 StreamResultFuture.java:209 - [Stream#0e7a0580-a81b-11e6-9a1c-6d75503d5d02]流失败ERROR [RMI TCP连接(14) -127.0.0.1] 2016-11-11 08:28:42,808 StorageService.java:1128 - 重建节点时出错org.apache.cassandra.streaming.StreamException:流在org.apache.cassandra.streaming.management.StreamEventJMXNotifier中失败 . onFailure(StreamEventJMXNotifier.java:85)〜[apache-cassandra-3.1.1.jar:3.1.1]在com.google.common.util.concurrent.Futures $ 6.run(Futures.java:1310)〜[guava- 18.0.jar:na] at com.google.common.util.concurrent.MoreExecutors $ DirectExecutor.execute(MoreExecutors.java:457)〜[guava-18.0.jar:na] at com.google.common.util.concurrent . 在com.google.common.util.concurrent.ExecutionList.execute(ExecutionList.java:145)〜[guava-18.0.jar:na]的ExecutionList.executeListener(ExecutionList.java:156)〜[guava-18.0.jar:na] ]在com.google.common.util.concurrent.AbstractFuture.setException(AbstractFuture.java:202)〜[guava-18.0.jar:na] org.apache.cassandra.streaming.StreamResultFuture.maybeComplete(StreamResultFuture.java:210)〜[apache-cassandra-3.1.1.jar:3.1.1] at org.apache.cassandra.streaming.StreamResultFuture.handleSessionComplete(StreamResultFuture . java:186)〜[apache-cassandra-3.1.1.jar:3.1.1] org.apache.cassandra.streaming.StreamSession.closeSession(StreamSession.java:430)〜[apache-cassandra-3.1.1.jar :3.1.1] org.apache.cassandra.stream.StreamSession.onError(StreamSession.java:525)〜[apache-cassandra-3.1.1.jar:3.1.1] at org.apache.cassandra.streaming.ConnectionHandler $ IncomingMessageHandler.run(ConnectionHandler.java:279)〜[apache-cassandra-3.1.1.jar:3.1.1] at java.lang.Thread.run(Thread.java:745)〜[na:1.8.0_74]

我还尝试更改选项,但数据仍未复制到新节点:auto_bootstrap:true

您能否帮我理解为什么数据不会在新节点上复制?

如果您需要我的配置中的更多信息,请通知我 .

谢谢您的帮助

1 回答

相关问题