Cassandra NodeTool抛出Java异常

时间:2018-08-29 17:31:40

标签: java ubuntu cassandra nodetool

我刚从Cassandra开始。将其安装到我的Ubuntu笔记本电脑上。 Cassandra版本与JVM版本之间的不兼容性存在一些问题 看起来我通过戳入配置文件修复了它们。

所以Cassandra本身正在运行,我可以运行cqlsh create tabkes,select等。

但是nodetool给我一个错误:

错误:空

-StackTrace-

java.lang.NullPointerException
        at org.apache.cassandra.config.DatabaseDescriptor.getDiskFailurePolicy(DatabaseDescriptor.java:1881)
        at org.apache.cassandra.utils.JVMStabilityInspector.inspectThrowable(JVMStabilityInspector.java:82)
        at org.apache.cassandra.io.util.FileUtils.<clinit>(FileUtils.java:79)
        at org.apache.cassandra.utils.FBUtilities.getToolsOutputDirectory(FBUtilities.java:824)
        at org.apache.cassandra.tools.NodeTool.printHistory(NodeTool.java:200)
        at org.apache.cassandra.tools.NodeTool.main(NodeTool.java:168)

我的详细信息是:

  

openjdk版本“ 10.0.2”,2018年7月17日;   [cqlsh 5.0.1 |卡桑德拉3.11.3 | CQL规范3.4.4 |原生协议v4]

有人可以帮我吗

2 个答案:

答案 0 :(得分:3)

Cassandra 3.11不支持Java 10。对于Java 8以外的任何版本,您都需要使用C * 4.0+(目前尚未发布)或主干。 CASSANDRA-9608引入了对Java 9至11的支持。某些部分可能会起作用,但是如果您运行它,则可能会遇到问题。

答案 1 :(得分:0)

我去了

http://thelastpickle.com/blog/2018/08/16/java11.html

使用Java8 / 11最新版本中所述的JAVA_HOME和JAVA8_HOME。

很高兴报告ANT构建(我的第一个)做了一些小努力,现在我可以在Cassandra 4上使用可用的NODETOOL。我认为,这比花很多时间尝试使其工作要好得多在旧版本上。

> INFO  [main] 2019-02-22 19:33:49,045 StorageService.java:1446 -
> JOINING: Finish joining ring INFO  [main] 2019-02-22 19:33:49,735
> StorageService.java:2289 - Node /192.168.1.5 state jump to NORMAL
server@think:/usr/local/c4/cassandra$ bin/nodetool netstats
Mode: NORMAL
Not sending any streams.
Read Repair Statistics:
Attempted: 0
Mismatch (Blocking): 0
Mismatch (Background): 0
Pool Name                    Active   Pending      Completed   Dropped
Large messages                  n/a         0              0         0
Small messages                  n/a         0              0         0
Gossip messages                 n/a         0              0         0