Je ne peux pas démarrer Cassandra après que OS se soit rafistolé.

quand J'essaie de démarrer Cassandra après avoir corrigé mon OS, j'obtiens cette erreur:

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;

est-ce que quelqu'un sait pourquoi, sans autres changements, je tombe dans cette erreur maintenant?

15
demandé sur TylerH 2018-01-18 22:09:12

4 réponses

cela semble lié à une mise à jour du JDK en 8u161 qui a été publié il y a 2 jours.

un billet a été ouvert sur le Cassandra Jira

il n'y a pas de travaux publiés que je peux trouver. Vous pourriez devoir revenir à une version antérieure du JDK ou attendre Cassandra 3.11.2 qui corrige le problème.

Edit: cela vaut la peine de souligner que cela a été résolu dans 3.11.2 qui a été publié, de sorte que vous pouvez simplement mettre à jour à cette version pour résoudre le problème.

31
répondu iandotkelly 2018-04-02 14:08:14

pour faire tourner Cassandra, j'ai dû installer JDK 8u152. En utilisant brew cask install java8 ce n'était pas possible. J'ai essayé d'utiliser un ancienne version de la cassandra.rb formule mais que vient d'obtenir:

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

j'ai dû me connecter ici pour pouvoir télécharger le DMG: http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html

Protip: pour être encore capable d'installer java8 en utilisant homebrew j'ai téléchargé le dmg moi-même, et j'ai commencé un serveur dans le répertoire des téléchargements:

cd ~/Downloads
php -S 0.0.0.0:3333

Et changé l'URL de téléchargement (ligne 6) dans la formule:

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

Puis a été en mesure d'exécuter:

brew cask install java8

maintenant Cassandra court à nouveau.

4
répondu ErikPerik 2018-01-23 09:05:09

vous pouvez télécharger la source et ajouter la méthode modifiée, compiler et ajouter la classe modifiée à apache-cassandra.pot. Vous pouvez effectuer les opérations suivantes:

  1. Télécharger org.tar contenant la seule classe à être remplacée.
  2. défaire le fichier en utilisant tar -xvf org.tar et org répertoire
  3. copier le fichier apache-cassandra jar. par exemple,cp /usr/share/cassandra/apache-cassandra-3.11.1.jar .
  4. faites une copie de sauvegarde du bocal avant de mettre à jour. cp apache-cassandra-3.11.1.jar apache-cassandra-3.11.1.jar_backup.
  5. Attend le répertoire courant contient les fichiers suivants: apache-cassandra-3.11.1.jar apache-cassandra-3.11.1.jar_backup org org.tar
  6. exécutez la commande suivante pour mettre à jour le jar:

    jar uf apache-cassandra-3.11.1.jar org

  7. Remplacer le fichier à l'emplacement de l'installation:

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

  8. redémarrez cassandra service

3
répondu James Jithin 2018-02-08 06:23:10

Revenir en Fût de formule pour 2017 version.

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

modifier L'URL de la ligne 6 comme suggéré url "http://127.0.0.1:3333/jdk-8u152-macosx-x64.dmg",

brew cask reinstaller java8

ça devrait marcher.

0
répondu shooding 2018-02-02 16:18:29