我的密钥空间创建为:
CREATE KEYSPACE <some_keyspace> WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '2'} AND durable_writes = true;
但是我正在运行单节点集群:
./nodetool status <some_keyspace>
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns (effective) Host ID Rack
XX XXX.XXX.XXX.XX 3.73 GB 256 100.0% <uid> rack1
直到今天,当我们遇到时,情况仍然正常:
ERROR [MigrationStage:1] 2015-08-13 01:58:49,249 CassandraDaemon.java:153 - Exception in thread Thread[MigrationStage:1,5,main]
java.lang.RuntimeException: org.apache.cassandra.exceptions.ConfigurationException: Column family ID mismatch (found <uid>; expected <uid>)
at org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1125) ~[apache-cassandra-2.1.2.jar:2.1.2]
at org.apache.cassandra.db.DefsTables.updateColumnFamily(DefsTables.java:422) ~[apache-cassandra-2.1.2.jar:2.1.2]
at org.apache.cassandra.db.DefsTables.mergeColumnFamilies(DefsTables.java:295) ~[apache-cassandra-2.1.2.jar:2.1.2]
at org.apache.cassandra.db.DefsTables.mergeSchemaInternal(DefsTables.java:194) ~[apache-cassandra-2.1.2.jar:2.1.2]
at org.apache.cassandra.db.DefsTables.mergeSchema(DefsTables.java:166) ~[apache-cassandra-2.1.2.jar:2.1.2]
at org.apache.cassandra.service.MigrationManager$2.runMayThrow(MigrationManager.java:393) ~[apache-cassandra-2.1.2.jar:2.1.2]
at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) ~[apache-cassandra-2.1.2.jar:2.1.2]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) ~[na:1.7.0_65]
at java.util.concurrent.FutureTask.run(FutureTask.java:262) ~[na:1.7.0_65]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) ~[na:1.7.0_65]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_65]
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_65]
Caused by: org.apache.cassandra.exceptions.ConfigurationException: Column family ID mismatch (found <uid>; expected <uid>)
at org.apache.cassandra.config.CFMetaData.validateCompatility(CFMetaData.java:1208) ~[apache-cassandra-2.1.2.jar:2.1.2]
at org.apache.cassandra.config.CFMetaData.apply(CFMetaData.java:1140) ~[apache-cassandra-2.1.2.jar:2.1.2]
at org.apache.cassandra.config.CFMetaData.reload(CFMetaData.java:1121) ~[apache-cassandra-2.1.2.jar:2.1.2]
... 11 common frames omitted
Notetool修复,可能没有工作,所以几分钟后重新启动,然后问题就消失了。
需要帮助了解导致它的原因以及解决方法。
在create table帮助中使用IF NOT EXISTS
子句吗?我怀疑。