现在最新版本的 elasticsearch 在 Mavericks 上安装好之后用这个指令启动时:
elasticsearch --config=/usr/local/opt/elasticsearch/config/elasticsearch.yml
多半情况下你会看到这样的一个出错提示:
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/elasticsearch/bootstrap/Elasticsearch : Unsupported major.minor version 51.0
这是因为 Mavericks 上自带的 Java(也就是 /usr/bin/java 所链接到的 Java)是 1.6 版本,而 elasticsearch 需要的 Java 版本是 1.7。
你可以通过 Oracle 网站安装 Java 1.7:
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html安装好之后你就可以在 System Preferences 里看到一个新的 Java 控制面板。
然后打开 elasticsearch 的启动文件:
~/Library/LaunchAgents/homebrew.mxcl.elasticsearch.plist
在 <key>EnvironmentVariables</key> 下面的 <dict></dict> 里加入:
<key>JAVA_HOME</key>
<string>/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home</string>
也就是 Oracle 的 Java 1.7u60 的安装位置。然后你就可以通过 launchctl 正常启动 elasticsearch 了。