我使用的是Debian 9.2。
我按照http://cassandra.apache.org/download/中的说明安装了Cassandra 3.11.1。
当我尝试在nodetool status
的默认配置中检查节点而不修改任何内容时,我收到以下错误:
shell:~$ sudo nodetool status
error: null
-- StackTrace --
java.lang.NullPointerException
at org.apache.cassandra.config.DatabaseDescriptor.getDiskFailurePolicy(DatabaseDescriptor.java:1877)
at org.apache.cassandra.utils.JVMStabilityInspector.inspectThrowable(JVMStabilityInspector.java:62)
at org.apache.cassandra.io.util.FileUtils.<clinit>(FileUtils.java:79)
at org.apache.cassandra.utils.FBUtilities.getToolsOutputDirectory(FBUtilities.java:807)
at org.apache.cassandra.tools.NodeTool.printHistory(NodeTool.java:199)
at org.apache.cassandra.tools.NodeTool.main(NodeTool.java:167)
我检查了服务是否正在运行,但是没关系(系统状态cassandra告诉它活动)。
另一个可疑情况:/var/lib/cassandra/
文件夹完全是空的。
答案 0 :(得分:2)
问题是使用的java版本:1.9。
这是一个分支新服务器,我使用sudo apt install oracle-java9-installer
安装了当前稳定的java(在this指南之后)。
稍后我使用sudo apt install oracle-java8-installer
安装了1.8,其中oracle-java8-set-default
并自动删除oracle-java9-set-default
,Cassandara服务器开始正常工作。
可以在命令行中使用java -version
检查默认的Java版本。