Не удается запустить Cassandra после исправления ОС
когда я пытаюсь запустить Cassandra после исправления моей ОС, я получаю эту ошибку:
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;
кто-нибудь знает, почему, без каких-либо других изменений, я сталкиваюсь с этой ошибкой сейчас?
4 ответов
Это, похоже, связано с обновлением JDK до 8u161, которое было выпущено 2 дня назад.
билет был открыт на Кассандра Джира
нет опубликованной работы, которую я могу найти. Возможно, вам придется вернуться к более ранней версии JDK или дождаться Cassandra 3.11.2, которая устраняет проблему.
Edit: стоит отметить, что теперь это было разрешено в 3.11.2, который был выпущен, так что вы можете просто обновить до эта версия для решения проблемы.
чтобы запустить Кассандру, мне пришлось установить JDK 8u152. Используя brew cask install java8
не удалось. Я попытался использовать старая версия cassandra.rb
формула но так:
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
Я должен был пойти сюда и войти в систему, чтобы иметь возможность загрузить DMG: http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html
Protip: чтобы все еще иметь возможность установить java8 с помощью homebrew, я сам загрузил dmg и начал сервера в папку "Загрузки":
cd ~/Downloads
php -S 0.0.0.0:3333
и изменил URL загрузки (строка 6) в формуле на:
url "http://0.0.0.0:3333/jdk-8u152-macosx-x64.dmg",
затем смог запустить:
brew cask install java8
теперь Кассандра снова работает.
вы можете загрузить источник и добавить измененный метод, скомпилировать и добавить измененный класс в apache-cassandra.сосуд. Вы можете сделать следующее:
- скачать org.тар!--12--> содержащий единственный класс, подлежащий замене.
- распакуйте файл с помощью
tar -xvf org.tar
и вы должны получитьorg
каталог - скопируйте файл jar apache-cassandra. например,
cp /usr/share/cassandra/apache-cassandra-3.11.1.jar .
- сделайте резервную копию банки перед обновлением.
cp apache-cassandra-3.11.1.jar apache-cassandra-3.11.1.jar_backup
. - ждет текущий каталог содержит следующие файлы:
apache-cassandra-3.11.1.jar apache-cassandra-3.11.1.jar_backup org org.tar
-
выполните следующую команду для обновления jar:
jar uf apache-cassandra-3.11.1.jar org
-
замените файл на место установки:
mv apache-cassandra-3.11.1.jar /usr/share/cassandra
перезапустите службу cassandra
вернуть формулу бочки к версии 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
изменить строку 6 URL, как предложено URL-адресу "http://127.0.0.1:3333/jdk-8u152-macosx-x64.dmg",
заварить бочку переустановить java8
должны работать.