Cannot start Cassandra after OS update

When I try to start Cassandra after fixing my OS, I get this error:

Exception (java.lang.AbstractMethodError) encountered during startup: org.apache.cassandra.utils.JMXServerUtils$Exporter.exportObject(Ljava/rmi/Remote;ILjava/rmi/server/RMIClientSocketFactory;Ljava/rmi/server/RMIServerSocketFactory;Lsun/misc/ObjectInputFilter;)Ljava/rmi/Remote; java.lang.AbstractMethodError: org.apache.cassandra.utils.JMXServerUtils$Exporter.exportObject(Ljava/rmi/Remote;ILjava/rmi/server/RMIClientSocketFactory;Ljava/rmi/server/RMIServerSocketFactory;Lsun/misc/ObjectInputFilter;)Ljava/rmi/Remote; at javax.management.remote.rmi.RMIJRMPServerImpl.export(RMIJRMPServerImpl.java:150) at javax.management.remote.rmi.RMIJRMPServerImpl.export(RMIJRMPServerImpl.java:135) at javax.management.remote.rmi.RMIConnectorServer.start(RMIConnectorServer.java:405) at org.apache.cassandra.utils.JMXServerUtils.createJMXServer(JMXServerUtils.java:104) at org.apache.cassandra.service.CassandraDaemon.maybeInitJmx(CassandraDaemon.java:143) at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:188) at com.datastax.bdp.server.DseDaemon.setup(DseDaemon.java:476) at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:59 at com.datastax.bdp.DseModule.main(DseModule.java:93) 
 ERROR [main] 2018-01-17 13:18:03,330 CassandraDaemon.java:705 - Exception encountered during startup java.lang.AbstractMethodError: org.apache.cassandra.utils.JMXServerUtils$Exporter.exportObject(Ljava/rmi/Remote;ILjava/rmi/server/RMIClientSocketFactory;Ljava/rmi/server/RMIServerSocketFactory;Lsun/misc/ObjectInputFilter;)Ljava/rmi/Remote; 

Does anyone know why, without any changes, I am now facing this error?

+7
cassandra rhel datastax
source share
4 answers

This is similar to updating to JDK to 8u161, which was released 2 days ago.

The ticket was opened at Cassandra Jira

There are no published works that I can find. You may need to revert to an earlier version of the JDK or wait for Cassandra 3.11.2, which fixes the problem.

+16
source share

To start Cassandra, I had to install the JDK 8u152. Using brew cask install java8 , this was not possible. I tried using the old version of the cassandra.rb formula , but just got it:

 Error: Download failed on Cask 'java8' with message: Download failed: http://download.oracle.com/otn-pub/java/jdk/8u152-b16/aa0333dd3019491ca4f6ddbe78cdb6d0/jdk-8u152-macosx-x64.dmg 

I needed to log in here and log in to be able to download the DMG: http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html

Protip: To still be able to install java8 using homebrew, I downloaded dmg itself and started the server in the download directory:

 cd ~/Downloads php -S 0.0.0.0:3333 

And changed the download URL (line 6) in the formula:

 url "http://0.0.0.0:3333/jdk-8u152-macosx-x64.dmg", 

Then it was launched:

 brew cask install java8 

Now Cassandra starts up again.

+4
source share

You can download the source code and add the changed method, compile and add the changed class to apache-cassandra.jar. You can do the following:

  • Download org.tar containing the only replacement class.
  • Untie the file with tar -xvf org.tar and you should get the org directory
  • Copy the jar apache-cassandra file. e.g. cp /usr/share/cassandra/apache-cassandra-3.11.1.jar .
  • Back up the jars before upgrading. cp apache-cassandra-3.11.1.jar apache-cassandra-3.11.1.jar_backup .
  • Expecting that the current directory contains the following files: apache-cassandra-3.11.1.jar apache-cassandra-3.11.1.jar_backup org org.tar
  • Run the following command to update the jar:

    jar uf apache-cassandra-3.11.1.jar org

  • Replace the file with the installation location:

    mv apache-cassandra-3.11.1.jar /usr/share/cassandra

  • Restart cassandra service

+2
source share

Cancel Cask formula to version 2017.

wget https://github.com/caskroom/homebrew-versions/blob/a98da98a7e4d87e9b614b3aa25af9c6c21a753c6/Casks/java8.rb -O /usr/local/Homebrew/Library/Taps/caskroom/homebrew-cask/Casks/java8.rb

change line 6 of the URL as suggested by the url "http: //127.0.0.1∗333/jdk-8u152-macosx-x64.dmg ",

brew cask reinstall java8

must work.

0
source share

All Articles