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:
Ich habe JDK und JRE entfernt und auf einer sauberen Umgebung neu installiert. http://docs.oracle.com/javase/8/docs/technotes/guides/install/mac_jdk.html#A1096855
Ich habe alle Cache-Verzeichnisse gelöscht. Ich nehme an, dies kann die 'Ursache' dafür sein, dass es jetzt funktioniert
~ / 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.
quelle
brew install elasticsearch
und um zu sehen, wie der Dienst in Ihrem Mac gestartet wird, überprüfen Sie die Informationen mitbrew info elasticsearch
CLASSPATH
.Antworten:
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:
Boom! Getan.
Befolgen Sie danach die Anweisungen von Elasticsearch:
So starten Sie Elasticsearch beim Anmelden:
Dann, um Elasticsearch jetzt zu laden:
Wenn Sie Launchctl nicht möchten / benötigen, können Sie einfach Folgendes ausführen:
quelle
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)cd /usr/local/Library
git pull origin master
apple.stackexchange.com/questions/153790/…Da es keine sehr guten Anweisungen gibt, um es tatsächlich auf einem Mac zu "installieren":
Kurzfassung:
JAVA_HOME
Umgebungsvariable.bin/elasticsearch
aus dem entpackte Verzeichnis.Lange Version:
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).
Laden Sie Elasticsearch herunter, extrahieren Sie es und extrahieren Sie es in ein Verzeichnis.
mkdir -p ~/dev/elasticsearch
Verschieben Sie die heruntergeladene Datei optional dorthin:
mv Downloads/elasticsearch* ~/dev/elasticsearch
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 nichtcd
in das Verzeichnis wollen, dann führen Sie einfachunzip 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 nichtcd
in das Verzeichnis wollen, dann führen Sie einfachtar -xvf elasticsearch-1.1.0.tar.gz -C ~/dev/elasticsearch
)Bereinigen Sie (wenn Sie möchten), indem Sie die heruntergeladene Datei entfernen:
rm elasticsearch-1.1.0.*
Öffnen Sie Ihre
.bash_profile
Datei für Ihre Bash-Profileinstellungen:vi ~/.bash_profile
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 aktualisierenFühren Sie Elasticsearch aus:
elasticsearch
$ES_HOME/bin
um diePATH
. Dann gehe einfach zuES_PATH
(cd $ES_PATH
, dannbin/elasticsearch
) oder renne$ES_PATH/bin/elasticsearch
.Hinweis: Richten Sie Ihre nicht
CLASSPATH
ohne guten Grund ein. Die Skripte erledigen das für Sie.quelle
Sie sollten versuchen, Brew mit dem letzten Update zu verwenden:
Und installieren Sie Cask Java:
Danach können Sie elasticsearch installieren:
Und um start elasticsearch gestartet zu haben, verwenden Sie jetzt:
Oder Sie können einfach laufen:
quelle
Um ElasticSearch zu aktualisieren, führen Sie einfach aus
brew upgrade elasticsearch
quelle
Aktualisieren Sie Ihr Java
Installieren Sie es mit Homebrew
brew install elasticsearch
quelle