web-dev-qa-db-ja.com

OSX MavericksにElasticsearchをインストールする

OSX MavericksにElasticsearch 1.1.0をインストールしようとしていますが、開始しようとすると次のエラーが発生しました。

:> ./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)

また、-v argを使用して同じコマンドを実行すると、このエラーが発生しました。

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

私の環境は次のとおりです。

Javaバージョン

>: 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)

インストールパス(elasticsearchダウンロードページから.tar.gzアーカイブをダウンロードし、ここで抽出):

/usr/local/elasticsearch-1.1.0

ENV変数:

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

更新

私は多くの変更を試みたので、私は最終的にそれを動作させますが、残念ながらどうすればよいかわかりません:)しかし、ここに私が行った変更のリストがあります。

〜/ Library/Caches

/ Library/Caches

  • cLASSPATH環境変数を削除しました。

  • ES_PATHおよびES_HOME env変数も設定されていませんが、これはそれほど重要ではないと思います。

注:brewを使用してインストールしている場合でも機能するようになりました。

ありがとう。

76
Catalin M.

brew の使用を検討する必要があります。これは、依存関係、バージョン管理などを処理する素晴らしいツールです。

Brewを使用してElasticsearchをインストールするには、単純に:

brew update
brew install elasticsearch

ブーム!できた.

その後、Elasticsearchの指示に従います。

  1. Launchdでログイン時にElasticsearchを起動するには:

    ln -sfv /usr/local/opt/elasticsearch/*.plist ~/Library/LaunchAgents
    
  2. 次に、Elasticsearchを今すぐロードします。

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

    または、launchctlが必要ない/必要ない場合は、次を実行するだけです。

    elasticsearch
    
214

Macに実際に「インストール」するための非常に良い指示はないので:

短縮版:

  1. Javaをインストールします(サポートされている最新リリースを推奨)
  2. Java_HOME環境変数を設定します。
  3. Elasticsearchバージョン(tarまたはZip)をダウンロードします。
  4. ダウンロードしたファイルからElasticsearchを抽出します。
  5. 抽出されたディレクトリからbin/elasticsearchを実行します。

ロングバージョン:

  1. Javaをダウンロード

    • 同じマシンでコードを作成しない場合にのみ、JREが必要です。

    • 最新のJDKを入手していると仮定しますが、これは現在JDK 8です(お使いのマシンにインストールされているようです)。

  2. Elasticsearchをダウンロードして抽出します そしてそれを何らかのディレクトリに抽出します。

    1. 例:mkdir -p ~/dev/elasticsearch
    2. オプションで、ダウンロードしたファイルをそこに移動します。

      mv Downloads/elasticsearch* ~/dev/elasticsearch

    3. ダウンロードしたファイルを解凍します。

      cd ~/dev/elasticsearch(手順2で移動した場合)

      • Zipの場合、unzip elasticsearch-1.1.0.Zip(または、cdをディレクトリに入れたくない場合は、unzip elasticsearch-1.1.0.Zip -d ~/dev/elasticsearchを実行します)

      • Tarの場合は、tar -xvf elasticsearch-1.1.0.tar.gz(または、cdをディレクトリに入れたくない場合は、tar -xvf elasticsearch-1.1.0.tar.gz -C ~/dev/elasticsearchを実行します)

    4. ダウンロードしたファイルを削除して、クリーンアップ(必要な場合):

      rm elasticsearch-1.1.0.*

  3. Bashプロファイル設定の.bash_profileファイルを開きます。

    vi ~/.bash_profile

  4. ファイルで、環境変数をエクスポートします

    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

    • ターミナルを閉じて再度開きますまたは

    • source ~/.bash_profileを実行して環境変数を更新します

  5. Elasticsearchを実行します。

    elasticsearch

    • これを実行するより伝統的な方法は、上記のほとんどすべてを行うことですが、not$ES_HOME/binPATHに追加します。次に、ES_PATHcd $ES_PATH、次にbin/elasticsearch)に移動するか、$ES_PATH/bin/elasticsearchを実行します。

注:非常に適切な理由がない限り、CLASSPATHをセットアップしないでください。スクリプトがそれを行います。

28
pickypg
  1. 最後の更新でbrewを使用してみてください:

    brew update
    
  2. Cask Javaをインストールします。

    brew cask install Java
    
  3. その後、elasticsearchをインストールできます。

    brew install elasticsearch
    
  4. そして現在、elasticsearchの起動を開始するには次を使用します。

    brew services start elasticsearch
    

    または、単に実行することができます:

    elasticsearch
    
8
Alexandr

ElasticSearchを更新するには、brew upgrade elasticsearchを実行するだけです

2
Dean

Javaを更新する

brew update
brew cask install Java

Homebrew brew install elasticsearchでインストールします

1
alytvynov