在 Ubuntu 18.04 上安装 cassandra 后出现 NullPointerException

NullPointerException after installing cassandra on Ubuntu 18.04

在开发机器上经典安装 cassandra 后,我启动了 nodetool 并得到以下输出:

error: null
-- StackTrace --
java.lang.NullPointerException
    at org.apache.cassandra.config.DatabaseDescriptor.getDiskFailurePolicy(DatabaseDescriptor.java:1892)
    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:860)
    at org.apache.cassandra.tools.NodeTool.printHistory(NodeTool.java:200)
    at org.apache.cassandra.tools.NodeTool.main(NodeTool.java:168)

我找过类似的问题,但是Cassandra对Java 11的支持真的很新,我无法安装Java 8,这是解决问题的唯一方法。

Ubuntu版本

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.2 LTS
Release:    18.04
Codename:   bionic

Java版本

java 11.0.2 2019-01-15 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.2+9-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.2+9-LTS, mixed mode)

Cassandra 状态

● cassandra.service - LSB: distributed storage system for structured data
   Loaded: loaded (/etc/init.d/cassandra; generated)
   Active: active (exited) since Wed 2019-05-08 12:30:58 CEST; 15min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 2350 ExecStart=/etc/init.d/cassandra start (code=exited, status=0/SUCCESS)

提前感谢您的解决方案和建议

Cassandra 的所有现有版本仅适用于 Java 8,不能适用于 Java 9,10,11,... Cassandra 4.0 中有相应的更改,但不是明确何时发布。

您需要安装 Java 8 到 运行 Cassandra。