私は簡単に問題を再現できました。 ES_HOME/binディレクトリからelasticsearch.in.shスクリプトを削除して、ES_HOME/binディレクトリから./elasticsearchを実行しようとしました。私は、
You must set the ES_CLASSPATH var
elasticsearch.in.shファイルにはこのクラスパスの設定が含まれています。ですので、elasticsearch.in.shファイルがES_HOME/binディレクトリにあることを確認してください。
./elasticsearchスクリプトによると、このelasticsearch.in.shファイルは次のすべての場所で検索されます。次の場所のいずれかに配置すると問題ありません。
/usr/share/elasticsearch/elasticsearch.in.sh
/usr/local/share/elasticsearch/elasticsearch.in.sh
/opt/elasticsearch/elasticsearch.in.sh
~/.elasticsearch.in.sh
"$ES_HOME/bin/elasticsearch.in.sh"
ES_HOMEはelasticsearchの基本インストールディレクトリです。
参考までにelasticsearch.in.shファイルの内容。
#!/bin/bash
# check in case a user was using this mechanism
if [ "x$ES_CLASSPATH" != "x" ]; then
cat >&2 << EOF
Error: Don't modify the classpath with ES_CLASSPATH. Best is to add
additional elements via the plugin mechanism, or if code must really be
added to the main classpath, add jars to lib/ (unsupported).
EOF
exit 1
fi
ES_CLASSPATH="$ES_HOME/lib/elasticsearch-5.0.0.jar:$ES_HOME/lib/*"
それはES_CLASSPATHを設定していることに注意してください。
DId Javaバージョンを確認しましたか? ESにはJava 8が必要です。 –