Installieren von Elasticsearch unter OSX Mavericks

77

Ich versuche, Elasticsearch 1.1.0 unter OSX Mavericks zu installieren, aber beim Start habe ich die folgenden Fehler erhalten:

:> ./elasticsearch
Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class org.elasticsearch.Version
at org.elasticsearch.bootstrap.Bootstrap.buildErrorMessage(Bootstrap.java:252)
at org.elasticsearch.bootstrap.Bootstrap.main(Bootstrap.java:236)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:32)

Auch wenn ich den gleichen Befehl mit -v arg ausführe, habe ich diesen Fehler erhalten:

:> ./elasticsearch -v
Exception in thread "main" java.lang.NoSuchFieldError: LUCENE_36
at org.elasticsearch.Version.<clinit>(Version.java:42)

Hier ist meine Umgebung:

Java-Version

>: java -version
java version "1.8.0"
Java(TM) SE Runtime Environment (build 1.8.0-b132)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b70, mixed mode)

Installationspfad (heruntergeladenes .tar.gz-Archiv von der elasticsearch-Downloadseite und hier extrahiert):

/usr/local/elasticsearch-1.1.0

ENV vars:

JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home 
CLASSPATH=/usr/local/elasticsearch-1.1.0/lib/*.jar:/usr/local/elasticsearch-1.1.0/lib/sigar/*.jar

AKTUALISIEREN

Ich mache es endlich zum Laufen, leider nicht sicher wie, weil ich viele Änderungen ausprobiert habe :). Aber hier ist eine Liste der Änderungen, die ich vorgenommen habe und die helfen können:

~ / Bibliothek / Caches

/ Bibliothek / Caches

  • Ich habe CLASSPATH env var entfernt.

  • ES_PATH und ES_HOME env vars sind ebenfalls nicht festgelegt, aber ich denke, das ist nicht so wichtig.

Hinweis: Jetzt funktioniert es auch, wenn ich mit Brew installiere.

Vielen Dank.

Catalin M.
quelle
13
Verwenden Sie einfach Gebräu ! brew install elasticsearchund um zu sehen, wie der Dienst in Ihrem Mac gestartet wird, überprüfen Sie die Informationen mitbrew info elasticsearch
Diolor
Danke, ich habe es auch mit Brew versucht aber die gleichen Fehler erhalten.
Catalin M.
Ich bin froh, dass du es geschafft hast. Ich würde allgemein vorschlagen, dass Sie
Brew
Es war mit ziemlicher Sicherheit das CLASSPATH.
Pickypg
Oh Mann, liebe ich Brauen
Josh Bedo

Antworten:

215

Sie sollten wirklich in Betracht ziehen, Gebräu zu verwenden . Es ist ein großartiges Tool, das sich um Abhängigkeiten, Versionskontrolle und vieles mehr kümmert.

So installieren Sie Elasticsearch einfach mit Brew:

brew update
brew install elasticsearch

Boom! Getan.

Befolgen Sie danach die Anweisungen von Elasticsearch:

  1. So starten Sie Elasticsearch beim Anmelden:

    ln -sfv /usr/local/opt/elasticsearch/*.plist ~/Library/LaunchAgents
    
  2. Dann, um Elasticsearch jetzt zu laden:

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

    Wenn Sie Launchctl nicht möchten / benötigen, können Sie einfach Folgendes ausführen:

    elasticsearch
    
Pierre-Louis Gottfrois
quelle
Danke, ich habe es auch mit Brew versucht, aber die gleichen Fehler sind eingegangen
Catalin M.
Brew installiert alte Version
Maxim Yefremov
2
Es scheint, dass Brew diese bestimmte Abhängigkeit nicht wirklich bewältigen kann: ElasticSearch requires Java 7; you will need to install an appropriate JDK. (Das ärgerlichere ist, dass Oracle-Installer darauf bestehen, dass ich Java 8 installiert habe ... nichts anderes scheint es zu realisieren)
Joe
2
funktioniert gut für mich. Beim ersten angezeigten Fehler ist JDK erforderlich. Gut, dass es mir einen Befehl gegeben hat, den ich kopieren / einfügen kann, um JDK herunterzuladen. Sobald das erledigt ist, installiere ich elasticsearch.
ChickenWing24
Auf dem Mac müssen Sie möglicherweise Folgendes tun: cd /usr/local/Library git pull origin master apple.stackexchange.com/questions/153790/…
Alexei Blue
28

Da es keine sehr guten Anweisungen gibt, um es tatsächlich auf einem Mac zu "installieren":

Kurzfassung:

  1. Installieren Sie Java (bevorzugen Sie die neueste unterstützte Version)
  2. Set - JAVA_HOMEUmgebungsvariable.
  3. Laden Sie die Elasticsearch-Version (tar oder zip) herunter.
  4. Extrahieren Sie Elasticsearch aus der heruntergeladenen Datei.
  5. Führen Sie bin/elasticsearchaus dem entpackte Verzeichnis.

Lange Version:

  1. Laden Sie Java herunter

    • Sie benötigen die JRE nur, wenn Sie keinen Code auf demselben Computer schreiben.

    • Ich gehe davon aus, dass Sie das neueste JDK erhalten, das derzeit JDK 8 ist (wie Sie anscheinend haben, und ich habe die Arbeit auf meinem Computer installiert).

  2. Laden Sie Elasticsearch herunter, extrahieren Sie es und extrahieren Sie es in ein Verzeichnis.

    1. Zum Beispiel: mkdir -p ~/dev/elasticsearch
    2. Verschieben Sie die heruntergeladene Datei optional dorthin:

      mv Downloads/elasticsearch* ~/dev/elasticsearch

    3. Extrahieren Sie die heruntergeladene Datei:

      cd ~/dev/elasticsearch (wenn Sie es in Schritt 2 verschoben haben)

      • Wenn es die Zip ist, dann unzip elasticsearch-1.1.0.zip(oder wenn Sie nicht cdin das Verzeichnis wollen, dann führen Sie einfach unzip elasticsearch-1.1.0.zip -d ~/dev/elasticsearch)

      • Wenn es der Teer ist, dann tar -xvf elasticsearch-1.1.0.tar.gz(oder wenn Sie nicht cdin das Verzeichnis wollen, dann führen Sie einfach tar -xvf elasticsearch-1.1.0.tar.gz -C ~/dev/elasticsearch)

    4. Bereinigen Sie (wenn Sie möchten), indem Sie die heruntergeladene Datei entfernen:

      rm elasticsearch-1.1.0.*

  3. Öffnen Sie Ihre .bash_profileDatei für Ihre Bash-Profileinstellungen:

    vi ~/.bash_profile

  4. Exportieren Sie in der Datei Ihre Umgebungsvariablen.

    export ES_HOME=~/dev/elasticsearch/elasticsearch-1.1.0

    export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home

    export PATH=$ES_HOME/bin:$JAVA_HOME/bin:$PATH

    • Schließen Sie Ihr Terminal ODER öffnen Sie es erneut

    • Ausführen source ~/.bash_profile, um die Umgebungsvariablen zu aktualisieren

  5. Führen Sie Elasticsearch aus:

    elasticsearch

    • Die traditionelle Art und Weise zu laufen ist so ziemlich alle der oben genannten zu tun, aber nicht hinzufügen , $ES_HOME/binum die PATH. Dann gehe einfach zu ES_PATH( cd $ES_PATH, dann bin/elasticsearch) oder renne $ES_PATH/bin/elasticsearch.

Hinweis: Richten Sie Ihre nicht CLASSPATHohne guten Grund ein. Die Skripte erledigen das für Sie.

pickypg
quelle
Diese Option war meine Präferenz, da ich Konflikte zwischen Brew und Macports habe, so dass es viel einfacher ist, sie einfach herunterzuladen und wie oben zu installieren.
Dan Smart
8
  1. Sie sollten versuchen, Brew mit dem letzten Update zu verwenden:

    brew update
    
  2. Und installieren Sie Cask Java:

    brew cask install java
    
  3. Danach können Sie elasticsearch installieren:

    brew install elasticsearch
    
  4. Und um start elasticsearch gestartet zu haben, verwenden Sie jetzt:

    brew services start elasticsearch
    

    Oder Sie können einfach laufen:

    elasticsearch
    
Alexandr
quelle
2

Um ElasticSearch zu aktualisieren, führen Sie einfach aus brew upgrade elasticsearch

Dean
quelle
1

Aktualisieren Sie Ihr Java

brew update
brew cask install java

Installieren Sie es mit Homebrew brew install elasticsearch

alytvynov
quelle