当前位置:  开发笔记 > 编程语言 > 正文

在OSX Mavericks上安装Elasticsearch

如何解决《在OSXMavericks上安装Elasticsearch》经验,为你挑选了3个好方法。

我正在尝试在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.(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 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

UPDATE

我终于让它工作,不幸的是不确定如何,因为我尝试了很多变化:).但是这里有一个我可以提供帮助的变化列表:

我删除了jdk和jre并重新安装在干净的环境中. http://docs.oracle.com/javase/8/docs/technotes/guides/install/mac_jdk.html#A1096855

我删除了所有的缓存目录.我想这可能是它现在正在工作的"原因"

〜/图书馆/缓存

/图书馆/缓存

我删除了CLASSPATH env var.

ES_PATH和ES_HOME env变量也没有设置,但我认为这不是那么重要.

注意:如果我正在使用brew进行安装,现在它也可以正常工作.

谢谢.



1> Pierre-Louis..:

你应该考虑使用brew.它是一个很好的工具,可以处理依赖关系,版本控制等等.

要使用brew安装Elasticsearch,只需:

brew update
brew install elasticsearch

繁荣!完成.

之后遵循Elasticsearch说明:

    要在启动时启动Elasticsearch,请登录:

    ln -sfv /usr/local/opt/elasticsearch/*.plist ~/Library/LaunchAgents
    

    然后立即加载Elasticsearch:

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

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

    elasticsearch
    


似乎brew实际上无法处理这种特定的依赖:`ElasticSearch需要Java 7; 你将需要安装一个合适的JDK.(更令人讨厌的是,Oracle安装程序坚持认为我安装了Java 8 ......似乎没有其他任何东西可以实现它)
对我来说效果很好.在第一次显示错误时,声明它需要JDK.好的是它给了我一个命令,我可以复制/粘贴下载JDK.一旦完成,我安装elasticsearch.

2> pickypg..:

由于没有非常好的说明将其"安装"到Mac上:

精简版:

    安装Java(更喜欢最新支持的版本)

    设置JAVA_HOME环境变量.

    下载Elasticsearch版本(tar或zip).

    从下载的文件中提取Elasticsearch.

    bin/elasticsearch从解压缩的目录运行.

长版:

    下载Java

    如果您不在同一台机器上编写代码,则只需要JRE.

    我假设您正在获得最新的JDK,目前是JDK 8(正如您所看到的那样,我已安装在我的机器上工作).

    下载并解压缩Elasticsearch并将其解压缩到某个目录中.

      例如: mkdir -p ~/dev/elasticsearch

      (可选)将下载的文件移动到那里:

      mv Downloads/elasticsearch* ~/dev/elasticsearch

      解压缩下载的文件:

      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)

      通过删除下载的文件进行清理(如果需要):

      rm elasticsearch-1.1.0.*

    打开您.bash_profile的bash配置文件设置文件:

    vi ~/.bash_profile

    在文件中,导出您的环境变量

    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以更新环境变量

    运行Elasticsearch:

    elasticsearch

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

注意:CLASSPATH如果没有充分理由,请不要设置.脚本将为您完成.



3> Alexandr..:

    你应该尝试使用brew上次更新:

    brew update
    

    并安装Cask java:

    brew cask install java
    

    之后,您可以安装elasticsearch:

    brew install elasticsearch
    

    并且已经启动了弹性搜索现在使用:

    brew services start elasticsearch
    

    或者你可以运行:

    elasticsearch
    

推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有