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?
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.
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.
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:
- Télécharger org.tar contenant la seule classe à être remplacée.
- défaire le fichier en utilisant
tar -xvf org.tar
etorg
répertoire - copier le fichier apache-cassandra jar. par exemple,
cp /usr/share/cassandra/apache-cassandra-3.11.1.jar .
- 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
. - 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
exécutez la commande suivante pour mettre à jour le jar:
jar uf apache-cassandra-3.11.1.jar org
Remplacer le fichier à l'emplacement de l'installation:
mv apache-cassandra-3.11.1.jar /usr/share/cassandra
redémarrez cassandra service
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.