【问题标题】:can not create column family at cassandra无法在 cassandra 创建列族
【发布时间】:2012-06-21 04:34:58
【问题描述】:

我创建了一个 cassandra 的多节点集群:node0 和 node1(cassandra 版本 1.1.1),然后我使用 cassandra-cli 连接到 node0 并创建了一个列族。 node0 的信息没问题,但是它在 node1 上抛出了一个异常,如下所示:

错误 18:22:48,486 线程 Thread[MigrationStage:1,5,main] 中的异常 org.apache.cassandra.db.marshal.MarshalException:无效的 UTF8 字节 4fd5c745 在 org.apache.cassandra.db.marshal.UTF8Type.getString(UTF8Type.java:56) 在 org.apache.cassandra.cql3.ColumnIdentifier.(ColumnIdentifier.java:47) 在 org.apache.cassandra.cql3.CFDefinition.getKeyId(CFDefinition.java:125) 在 org.apache.cassandra.cql3.CFDefinition.(CFDefinition.java:59) 在 org.apache.cassandra.config.CFMetaData.updateCfDef(CFMetaData.java:1303) 在 org.apache.cassandra.config.CFMetaData.keyAlias(CFMetaData.java:224) 在 org.apache.cassandra.config.CFMetaData.fromSchemaNoColumns(CFMetaData.java:1187) 在 org.apache.cassandra.config.CFMetaData.fromSchema(CFMetaData.java:1215) 在 org.apache.cassandra.config.KSMetaData.deserializeColumnFamilies(KSMetaData.java:291) 在 org.apache.cassandra.db.DefsTable.mergeColumnFamilies(DefsTable.java:396) 在 org.apache.cassandra.db.DefsTable.mergeSchema(DefsTable.java:271) 在 org.apache.cassandra.db.DefsTable.mergeRemoteSchema(DefsTable.java:249) 在 org.apache.cassandra.db.DefinitionsUpdateVerbHandler$1.runMayThrow(DefinitionsUpdateVerbHandler.java:48) 在 org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:30) 在 java.util.concurrent.Executors$RunnableAdapter.call(未知来源) 在 java.util.concurrent.FutureTask$Sync.innerRun(未知来源) 在 java.util.concurrent.FutureTask.run(未知来源) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(未知来源) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(未知来源) 在 java.lang.Thread.run(未知来源)

然后我将数据存储到node0的列族中,我可以在node0处获取数据,并且node1表示未找到列族。重启node1后,就可以像node0一样获取node1的数据了。

我该如何解决这个问题?

【问题讨论】:

  • 完整的异常堆栈跟踪将更有利于调试此问题。可能在重新启动 node1 之前它没有响应,并且您创建的架构未在此节点上复制。重新启动后,它实际上可能已经响应并且您得到了正确的结果。
  • 感谢 node1 从日志中恢复数据。如果我在重新启动 node1 之前删除了提交日志,我将无法启动 node1 并抛出异常:org.apache.cassandra.db.marshal.MarshalException: invalid UTF8 bytes 4fd5c5c2
  • 之前我通过命令“create column family Users;”创建了 CF,现在我通过“create column family Users with contrast=UTF8Type and key_validation_class=UTF8Type;”创建了 CF看起来还可以

标签: database cassandra


【解决方案1】:

这是即将发布的 1.1.2 版本中修复的错误:https://issues.apache.org/jira/browse/CASSANDRA-4307。如果您想测试修复,可以从 Apache 的 git 存储库中拉取 trunk 分支。

【讨论】:

    猜你喜欢
    • 2012-02-01
    • 2012-03-24
    • 2020-01-26
    • 1970-01-01
    • 1970-01-01
    • 2013-12-06
    • 2020-07-24
    • 2013-09-20
    • 2014-11-23
    相关资源
    最近更新 更多