2

My Cassandra won't start on a new installed root...

/var/log/cassandra/debug.log prints:

ERROR [main] 2018-02-03 07:13:46,463 CassandraDaemon.java:706 - Exception encountered during startup java.lang.AbstractMethodError: org.apache.cassandra.utils.JMXServerUtils$Exporter.exportObject

root@srv49023:~# java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

root@srv49023:~# systemctl status cassandra
● cassandra.service - LSB: distributed storage system for structured data
   Loaded: loaded (/etc/init.d/cassandra)
   Active: active (exited) since Sat 2018-02-03 07:13:43 EST; 1min 8s ago
  Process: 213 ExecStart=/etc/init.d/cassandra start (code=exited, status=0/SUCCESS)

Feb 03 07:13:43 srv49023 systemd[1]: Started LSB: distributed storage system for structured data.

Thanks for helping!

  • Possible duplicate of [Can't start Cassandra after OS patch up](https://stackoverflow.com/questions/48328661/cant-start-cassandra-after-os-patch-up) – dilsingi Feb 03 '18 at 13:00

2 Answers2

4

This seems to relate to an upgrade to the JDK to 8u161 which was released 2 days ago.

A ticket has been opened on the Cassandra Jira

There is no published work-around that I can find. You might have to go back to an earlier version of the JDK or wait for Cassandra 3.11.2 which fixes the issue.

dilsingi
  • 2,938
  • 14
  • 24
  • I used oracle-java8-installer from the ppa:webupd8team/java repository... Do you have an Idea on how to downgrade to an earlier version? –  Feb 03 '18 at 13:51
  • You can download the tar version here of an older JDK version. http://www.oracle.com/technetwork/java/javase/8u151-relnotes-3850493.html – dilsingi Feb 03 '18 at 13:59
  • However and whatever I search I will ever redirect to the 161 update.. on this link: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html –  Feb 03 '18 at 14:40
  • I meant to download the tat file and place on file directly – dilsingi Feb 03 '18 at 14:42
  • Typo it’s tar file – dilsingi Feb 03 '18 at 20:57
  • Now they wrote they had fixed it: https://issues.apache.org/jira/browse/CASSANDRA-14173 but whenever I do apt-get update and try to reinstall it, it won't work... –  Feb 05 '18 at 13:52
  • If you read the comments in that JIRA they are planning to release it along with another fix, may be next week. Wait for 3.11.2 – dilsingi Feb 05 '18 at 14:47
1

If waiting until Cassandra 3.11.2 is not an option, you can use an old version of Java and of Cassandra. Example below.

  • Download the binary tarbell (-bin) of an old Cassandra version (link). I used 3.10.0
  • Extract downloaded tarbell: tar -xvf apache-cassandra-3.100bin.tar.gz -C /home/ty/src (more details on extracting)
  • Download old Java version (link). I used Java SE Development Kit 8u151 (1.8.151)
  • Remove incompatible version of Java (Java 1.8.161) (instructions).

  • For example:

    [root@localhost ty]# rpm -qa | grep java

    tzdata-java-2017b-2.fc27.noarch

    abrt-java-connector-1.1.0-14.fc27.x86_64

    java-1.8.0-openjdk-headless-1.8.0.144-7.b01.fc27.x86_64

    javapackages-tools-5.0.0-7.fc27.noarch

    [root@localhost ty]# sudo yum remove java-1.8.0-openjdk-headless-1.8.0.144-7.b01.fc27.x86_64

  • Install older version of Java: rpm -ivh jdk-8u151-linux-x64.rpm

  • Cd to your Cassandra directory and try starting Cassandra: bin/cassandra -f (more instructions)
Tyler Dane
  • 951
  • 1
  • 14
  • 25
  • Awesome work! For ubuntu also see: https://askubuntu.com/questions/536134/install-specific-java-version-for-12-04 to update java – ClojureMostly Feb 13 '18 at 14:39