在OSX Mavericks上安装Elasticsearch


77

我试图在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

更新

我终于使它工作了,不幸的是不确定如何操作,因为我尝试了很多更改:)。但是,这里列出了一些我可以帮助的更改:

〜/库/缓存

/库/缓存

  • 我删除了CLASSPATH env var。

  • ES_PATH和ES_HOME env vars也没有设置,但是我认为这不是那么重要。

注意:如果我与brew安装,现在也可以使用。

谢谢。


13
只需使用brew即可brew install elasticsearch并查看如何在Mac中启动该服务,请通过brew info elasticsearch
Diolor

谢谢,我也尝试了brew,但是收到了同样的错误。
Catalin M.

很高兴您成功了。我通常会建议您在Mac上进行开发时使用brew,但是选择是您自己的:)
Diolor 2014年

几乎可以肯定CLASSPATH
pickypg 2014年

噢,我
爱喝

Answers:


215

您应该真正考虑使用brew。这是一个很好的工具,可以处理依赖项,版本控制等等。

要使用brew安装Elasticsearch,只需:

brew update
brew install elasticsearch

繁荣!做完了

之后,按照Elasticsearch的说明进行操作:

  1. 要在登录时启动启动Elasticsearch:

    ln -sfv /usr/local/opt/elasticsearch/*.plist ~/Library/LaunchAgents
    
  2. 然后立即加载Elasticsearch:

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

    或者,如果您不需要/不需要launchctl,则可以运行:

    elasticsearch
    

谢谢,我也尝试了
Brew,

brew安装旧版本
Maxim Yefremov 2014年

2
看来brew实际上不能处理这个特殊的依赖关系:(ElasticSearch requires Java 7; you will need to install an appropriate JDK. 更令人讨厌的是Oracle安装程序坚持认为我已经安装了Java 8 ...似乎没有其他实现)
Joe

2
对我来说很好。首先显示错误,指出它需要JDK。好东西是它给了我一个我可以复制/粘贴以下载JDK的命令。完成后,我将安装elasticsearch。
ChickenWing24年7

在Mac上您可能必须做到以下几点: cd /usr/local/Library git pull origin master apple.stackexchange.com/questions/153790/...
阿列克谢蓝

28

由于没有很好的说明将其实际“安装”到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_profile文件进行bash配置文件设置:

    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

    • 运行它更传统的方式是做几乎所有的方法,但添加$ES_HOME/binPATH。然后,只需转到ES_PATHcd $ES_PATH,然后bin/elasticsearch)或运行$ES_PATH/bin/elasticsearch

注意:请勿在CLASSPATH没有充分理由的情况下进行设置。脚本将为您完成此任务。


这个选项是我的首选,因为我在brew和macports之间存在冲突,因此像上面那样下载并安装它要容易得多。
Dan Smart

8
  1. 您应该尝试使用带有最新更新的brew:

    brew update
    
  2. 并安装Cask java:

    brew cask install java
    
  3. 之后,您可以安装elasticsearch:

    brew install elasticsearch
    
  4. 为了启动弹性搜索,现在使用:

    brew services start elasticsearch
    

    或者,您可以运行:

    elasticsearch
    

2

要更新ElasticSearch,只需运行 brew upgrade elasticsearch


1

更新你的java

brew update
brew cask install java

用自制软件安装 brew install elasticsearch

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.