2016-02-10 4 views
3

Я публикую, чтобы надеяться помочь другим, если они столкнутся с этой проблемой на Mac. Я недавно обновил ES на 2.2.x ветвь с помощью Homebrew:Elasticsearch не запускается или запускается на OSX

brew uninstall --force elasticsearch 
brew update 
brew install elasticsearch 

я неоднократно получал ошибки подключения пытается как локальный и 127.0.0.1 порт 9200.

curl http://localhost:9200 
curl: (7) Failed to connect to localhost port 9200: Connection refused 

Я попробовал выгрузку и загрузку.

launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.elasticsearch.plist 
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.elasticsearch.plist 

Затем попытался запустить вручную.

elasticsearch 

Появились следующие ошибки, указывающие на то, что версия Java 1.7.x была ошибкой и почему она не запускалась.

Exception in thread "main" java.lang.RuntimeException: Java version: Oracle Corporation 1.7.0_45 [Java HotSpot(TM) 64-Bit Server VM 24.45-b08] suffers from critical bug https://bugs.openjdk.java.net/browse/JDK-8024830 which can cause data corruption. 
Please upgrade the JVM, see http://www.elastic.co/guide/en/elasticsearch/reference/current/_installation.html for current recommendations. 
If you absolutely cannot upgrade, please add -XX:-UseSuperWord to the JAVA_OPTS environment variable. 
Upgrading is preferred, this workaround will result in degraded performance. 
    at org.elasticsearch.bootstrap.JVMCheck.check(JVMCheck.java:123) 
    at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:283) 
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35) 
Refer to the log for complete error details. 

После прохождения этой ошибки были допущены ошибки и для ранее установленных плагинов на ветке 1.7.x.

Exception in thread "main" java.lang.IllegalStateException: Could not load plugin descriptor for existing plugin [bigdesk]. Was the plugin built before 2.0? 
Likely root cause: java.nio.file.NoSuchFileException: /usr/local/var/lib/elasticsearch/plugins/bigdesk/plugin-descriptor.properties 
    at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86) 
    at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) 
    at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107) 
    at sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:214) 
    at java.nio.file.Files.newByteChannel(Files.java:315) 
    at java.nio.file.Files.newByteChannel(Files.java:361) 
    at java.nio.file.spi.FileSystemProvider.newInputStream(FileSystemProvider.java:380) 
    at java.nio.file.Files.newInputStream(Files.java:106) 
    at org.elasticsearch.plugins.PluginInfo.readFromProperties(PluginInfo.java:87) 
    at org.elasticsearch.plugins.PluginsService.getPluginBundles(PluginsService.java:378) 
    at org.elasticsearch.plugins.PluginsService.<init>(PluginsService.java:128) 
    at org.elasticsearch.node.Node.<init>(Node.java:146) 
    at org.elasticsearch.node.Node.<init>(Node.java:128) 
    at org.elasticsearch.node.NodeBuilder.build(NodeBuilder.java:145) 
    at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:178) 
    at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:285) 
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35) 
Refer to the log for complete error details. 

ответ

4

Решения этих вопросов, я обнаружил, были следующие:

  1. Редактировать /usr/local/etc/elasticsearch/elasticsearch.yml файл и убедитесь, что bind_host конфиги комментируются так будет по умолчанию 0.0.0.0.

  2. Редактировать /usr/local/Cellar/elasticsearch/YOUR_VERSION/libexec/bin/elasticsearch.in.sh файл и добавьте -XX:-UserSuperWord флаг после того, как другой JAVA_OPTS:

    JAVA_OPTS="$JAVA_OPTS -XX:-UseSuperWord"

  3. вручную удалить предыдущий плагины, так что вы можете установить последние версии для этого ES филиала:

    /usr/local/Cellar/elasticsearch/2.2.0_1/libexec/bin/plugin list

    Installed plugins in /usr/local/var/lib/elasticsearch/plugins:

    - bigdesk 
    - head 
    

    /usr/local/Cellar/elasticsearch/2.2.0_1/libexec/bin/plugin remove bigdesk /usr/local/Cellar/elasticsearch/2.2.0_1/libexec/bin/plugin remove head


После этих шагов я мог снова начать ES 2.x, а затем можно повторно установить любые необходимые модули. Надеюсь, это поможет другим, если они столкнутся с подобными проблемами.

+1

Редактирование должно состоять из шести символов, но я хочу указать, что вы набрали '-XX: -UserSuperWord' вместо' -XX: -UseSuperWord'. Спасибо за ответ, это помогло мне снова запустить ES. –

Смежные вопросы