Debugging Cassandra sstable2json不';t工作

Debugging Cassandra sstable2json不';t工作,debugging,nosql,cassandra,data-export,Debugging,Nosql,Cassandra,Data Export,我尝试使用sstable2json从cassandra导出数据,但是当我尝试运行命令时 sstable2json/var/lib/cassandra/data/S2B_development/users-g-110-data.db 发生错误 log4j:WARN找不到记录器(org.apache.cassandra.config.DatabaseDescriptor)的追加器。 log4j:警告请正确初始化log4j系统。 log4j:有关更多信息,请参阅警告。 未定义任何非系统表 线程“ma

我尝试使用sstable2json从cassandra导出数据,但是当我尝试运行命令时

sstable2json/var/lib/cassandra/data/S2B_development/users-g-110-data.db

发生错误


log4j:WARN找不到记录器(org.apache.cassandra.config.DatabaseDescriptor)的追加器。
log4j:警告请正确初始化log4j系统。
log4j:有关更多信息,请参阅警告。
未定义任何非系统表
线程“main”org.apache.cassandra.config.ConfigurationException中的异常:未定义任何非系统表
位于org.apache.cassandra.tools.SSTableExport.main(SSTableExport.java:414)

cassandra版本:0.8

如何从sstable2json获取输出的示例 为了其他开发商的利益:

1.启动卡桑德拉
2.启动cqlsh
3.创建键空间:

CREATE KEYSPACE test WITH replication = 
    {'class': 'SimpleStrategy', 'replication_factor': 1};
4.创建一个CF

CREATE TABLE test.test2
(
  key varchar PRIMARY KEY, 
  string varchar, 
  number int, 
  flag boolean
);
5.使用一个键(或多个键…)填充CF

6.刷新数据(以便将数据从memtable保存到sstable中)
7.停止卡桑德拉
8.运行sstable2json

./bin/sstable2json /var/lib/cassandra/data/test/test2/test-test2-jb-1-Data.db;
输出:

[
  {
    "key": "66697273745f6b6579","columns": 
    [
      ["","",1378042590383000], 
      ["flag","true",1378042590383000], ["number","312",1378042590383000], 
      ["string","varchuuur",1378042590383000]
    ]
  }
]

您试图导出的Cassandra中是否存在该表?错误是Cassandra找不到任何表定义。它需要知道表的验证器和比较器。我的数据库中有一个用户列系列。我建议升级到一个不超过2年的Cassandra版本。没有人记得0.8的怪癖了。另外:sstable2json是开发人员调试工具,而不是用户的导出工具。
[
  {
    "key": "66697273745f6b6579","columns": 
    [
      ["","",1378042590383000], 
      ["flag","true",1378042590383000], ["number","312",1378042590383000], 
      ["string","varchuuur",1378042590383000]
    ]
  }
]