Apache Cassandra 3.10 IllegalArgumentException - Murmur3Partitioner 的无效令牌
Apache Cassandra 3.10 IllegalArgumentException - Invalid token for Murmur3Partitioner
我使用的令牌值:
initial_token: 85070591730234615865843651857942052864
当我尝试启动 Cassandra 时导致以下 Java 异常:
Exception (java.lang.IllegalArgumentException) encountered during startup: Invalid token for Murmur3Partitioner. Got 85070591730234615865843651857942052864 but expected a long value (unsigned 8 bytes integer).
java.lang.IllegalArgumentException: Invalid token for Murmur3Partitioner. Got 85070591730234615865843651857942052864 but expected a long value (unsigned 8 bytes integer).
at org.apache.cassandra.dht.Murmur3Partitioner.fromString(Murmur3Partitioner.java:333)
at org.apache.cassandra.dht.Murmur3Partitioner.validate(Murmur3Partitioner.java:317)
at org.apache.cassandra.config.DatabaseDescriptor.applyInitialTokens(DatabaseDescriptor.java:885)
at org.apache.cassandra.config.DatabaseDescriptor.applyAll(DatabaseDescriptor.java:321)
at org.apache.cassandra.config.DatabaseDescriptor.daemonInitialization(DatabaseDescriptor.java:141)
at org.apache.cassandra.service.CassandraDaemon.applyConfig(CassandraDaemon.java:646)
at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:581)
at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:735)
ERROR [main] 2017-03-01 19:57:15,861 CassandraDaemon.java:752 - Exception encountered during startup
java.lang.IllegalArgumentException: Invalid token for Murmur3Partitioner. Got 85070591730234615865843651857942052864 but expected a long value (unsigned 8 bytes integer).
at org.apache.cassandra.dht.Murmur3Partitioner.fromString(Murmur3Partitioner.java:333) ~[apache-cassandra-3.10.jar:3.10]
at org.apache.cassandra.dht.Murmur3Partitioner.validate(Murmur3Partitioner.java:317) ~[apache-cassandra-3.10.jar:3.10]
at org.apache.cassandra.config.DatabaseDescriptor.applyInitialTokens(DatabaseDescriptor.java:885) ~[apache-cassandra-3.10.jar:3.10]
at org.apache.cassandra.config.DatabaseDescriptor.applyAll(DatabaseDescriptor.java:321) ~[apache-cassandra-3.10.jar:3.10]
at org.apache.cassandra.config.DatabaseDescriptor.daemonInitialization(DatabaseDescriptor.java:141) ~[apache-cassandra-3.10.jar:3.10]
at org.apache.cassandra.service.CassandraDaemon.applyConfig(CassandraDaemon.java:646) [apache-cassandra-3.10.jar:3.10]
at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:581) [apache-cassandra-3.10.jar:3.10]
at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:735) [apache-cassandra-3.10.jar:3.10]
Cassandra 在我的第一个节点 initial_token: 0
上启动良好
我做错了什么?
非常感谢任何帮助!
我的主要问题是您为什么要设置它?
该标记 (85070591730234615865843651857942052864
) 可能用于随机分区程序,而不是 murmur 分区程序。可以检查集群中的其他节点,但可能在 cassandra.yaml:
中设置
partitioner: org.apache.cassandra.dht.RandomPartitioner
虽然 Murmur3 分区器是更好的主意,但不确定您从何处获得该令牌或您希望它工作的原因。如果您只是添加节点,最好让它自己分配令牌。只是不要设置它。
# initial_token:
我使用的令牌值:
initial_token: 85070591730234615865843651857942052864
当我尝试启动 Cassandra 时导致以下 Java 异常:
Exception (java.lang.IllegalArgumentException) encountered during startup: Invalid token for Murmur3Partitioner. Got 85070591730234615865843651857942052864 but expected a long value (unsigned 8 bytes integer).
java.lang.IllegalArgumentException: Invalid token for Murmur3Partitioner. Got 85070591730234615865843651857942052864 but expected a long value (unsigned 8 bytes integer).
at org.apache.cassandra.dht.Murmur3Partitioner.fromString(Murmur3Partitioner.java:333)
at org.apache.cassandra.dht.Murmur3Partitioner.validate(Murmur3Partitioner.java:317)
at org.apache.cassandra.config.DatabaseDescriptor.applyInitialTokens(DatabaseDescriptor.java:885)
at org.apache.cassandra.config.DatabaseDescriptor.applyAll(DatabaseDescriptor.java:321)
at org.apache.cassandra.config.DatabaseDescriptor.daemonInitialization(DatabaseDescriptor.java:141)
at org.apache.cassandra.service.CassandraDaemon.applyConfig(CassandraDaemon.java:646)
at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:581)
at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:735)
ERROR [main] 2017-03-01 19:57:15,861 CassandraDaemon.java:752 - Exception encountered during startup
java.lang.IllegalArgumentException: Invalid token for Murmur3Partitioner. Got 85070591730234615865843651857942052864 but expected a long value (unsigned 8 bytes integer).
at org.apache.cassandra.dht.Murmur3Partitioner.fromString(Murmur3Partitioner.java:333) ~[apache-cassandra-3.10.jar:3.10]
at org.apache.cassandra.dht.Murmur3Partitioner.validate(Murmur3Partitioner.java:317) ~[apache-cassandra-3.10.jar:3.10]
at org.apache.cassandra.config.DatabaseDescriptor.applyInitialTokens(DatabaseDescriptor.java:885) ~[apache-cassandra-3.10.jar:3.10]
at org.apache.cassandra.config.DatabaseDescriptor.applyAll(DatabaseDescriptor.java:321) ~[apache-cassandra-3.10.jar:3.10]
at org.apache.cassandra.config.DatabaseDescriptor.daemonInitialization(DatabaseDescriptor.java:141) ~[apache-cassandra-3.10.jar:3.10]
at org.apache.cassandra.service.CassandraDaemon.applyConfig(CassandraDaemon.java:646) [apache-cassandra-3.10.jar:3.10]
at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:581) [apache-cassandra-3.10.jar:3.10]
at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:735) [apache-cassandra-3.10.jar:3.10]
Cassandra 在我的第一个节点 initial_token: 0
我做错了什么?
非常感谢任何帮助!
我的主要问题是您为什么要设置它?
该标记 (85070591730234615865843651857942052864
) 可能用于随机分区程序,而不是 murmur 分区程序。可以检查集群中的其他节点,但可能在 cassandra.yaml:
partitioner: org.apache.cassandra.dht.RandomPartitioner
虽然 Murmur3 分区器是更好的主意,但不确定您从何处获得该令牌或您希望它工作的原因。如果您只是添加节点,最好让它自己分配令牌。只是不要设置它。
# initial_token: