web-dev-qa-db-ja.com

ubuntu 16.04でElasticsearchをサービスとして開始できません

最近、マシンをUbuntuからアップグレードしました14.0416.04elasticsearchをサービスとして使用する問題に直面しています。 I インストール済みelasticsearch使用:

Sudo apt-get install elasticsearch

Sudo service elasticsearch statusコマンドで次の結果が表示されます。

elasticsearch.service - LSB: Starts elasticsearch
   Loaded: loaded (/etc/init.d/elasticsearch; bad; vendor preset: enabled)
   Active: active (exited) since Sat 2016-07-30 18:28:13 BDT; 1h 19min ago
     Docs: man:systemd-sysv-generator(8)
 Main PID: 7988 (code=exited, status=1/FAILURE)
   CGroup: /system.slice/elasticsearch.service

Jul 30 18:28:13 dimik elasticsearch[10266]: [warning] /etc/init.d/elasticsearch: No Java runtime was found
Jul 30 18:28:13 dimik systemd[1]: Started LSB: Starts elasticsearch.
Jul 30 18:28:46 dimik systemd[1]: Started LSB: Starts elasticsearch.
Jul 30 18:35:30 dimik systemd[1]: Started LSB: Starts elasticsearch.
Jul 30 19:04:36 dimik systemd[1]: Started A search engine.
Jul 30 19:07:48 dimik systemd[1]: Started A search engine.
Jul 30 19:27:01 dimik systemd[1]: Started A search engine.
Jul 30 19:27:51 dimik systemd[1]: Started A search engine.
Jul 30 19:28:54 dimik systemd[1]: Started A search engine.
Jul 30 19:29:18 dimik systemd[1]: Started LSB: Starts elasticsearch.

Javaが私のマシンにインストールされており、このコマンドを使用してサーバーを起動できます。

Sudo /usr/share/elasticsearch/bin/elasticsearch

ちょっとこだわっています。どんな助けでもありがたいです。

編集

セットアップ後Java_HOME rootのエラー:

elasticsearch.service - LSB: Starts elasticsearch
   Loaded: loaded (/etc/init.d/elasticsearch; bad; vendor preset: enabled)
   Active: active (exited) since Sat 2016-07-30 18:28:13 BDT; 3h 32min ago
     Docs: man:systemd-sysv-generator(8)
 Main PID: 7988 (code=exited, status=1/FAILURE)
   CGroup: /system.slice/elasticsearch.service

Jul 30 18:35:30 dimik systemd[1]: Started LSB: Starts elasticsearch.
Jul 30 19:04:36 dimik systemd[1]: Started A search engine.
Jul 30 19:07:48 dimik systemd[1]: Started A search engine.
Jul 30 19:27:01 dimik systemd[1]: Started A search engine.
Jul 30 19:27:51 dimik systemd[1]: Started A search engine.
Jul 30 19:28:54 dimik systemd[1]: Started A search engine.
Jul 30 19:29:18 dimik systemd[1]: Started LSB: Starts elasticsearch.
Jul 30 20:02:07 dimik systemd[1]: Started LSB: Starts elasticsearch.
Jul 30 20:20:21 dimik systemd[1]: Started LSB: Starts elasticsearch.
Jul 30 21:59:21 dimik systemd[1]: Started LSB: Starts elasticsearch.
12
salmanwahed

この問題の解決策を見つけました。ソリューションは、このディスカッションスレッドから提供されます ElasticsearchをUbuntu 16.04で開始できません elasticのWebサイト。

Elasticsearchを16.04で実行するには、START_DAEMON/etc/default/elasticsearchでtrueに設定する必要があるようです。デフォルトでコメント化されており、コメントを外すとElasticsearchが再び正常に起動します。

インストール直後にサービスが開始されるため、startではなくsystemctl restartを使用してください。systemdが保持するsocket/pidfile/somethingがいくつかあります。サービスを再開できます。

35
salmanwahed

問題はログファイルにあります、「いいえJavaランタイムが見つかりませんでした。」

Jul 30 18:28:13 dimik elasticsearch[10266]: [warning] /etc/init.d/elasticsearch: No Java runtime was found

これが私の問題の解決策です。

  1. Elasticsearch initファイルを確認してください

    Sudo nano /etc/init.d/elasticsearch

検索する

. /usr/share/Java-wrappers/Java-wrappers.sh
find_Java_runtime openjdk8 Oracle8 openjdk7 Oracle7 openjdk6 Sun6 default
export Java_HOME
  1. Java-wrappers.shファイルを確認してください

    Sudo nano /usr/share/Java-wrappers/Java-wrappers.sh

今、あなたは警告が

#Displays a warning
Java_warning() {
    echo "[warning] $0: $@" >&2;
}
  1. どういうわけか、Javaディレクトリはjvm-list.shファイルにリストされていません

Jvm-list.shファイルを編集します

Sudo nano /usr/lib/Java-wrappers/jvm-list.sh

次の行を編集しますJavaディレクトリファイルを追加します。私の場合、/ usr/lib/jvm/Java-8-Oracle *を追加します。

__jvm_Oracle8="/usr/lib/jvm/jdk-8-Oracle-* /usr/lib/jvm/jre-8-Oracle-* /usr/lib/jvm/Java-8-Oracle*"
  1. サービスを再起動し、elasticsearchサービスを確認してください

    Sudo systemctl restart elasticsearch
    sudo systemctl elasticsearch status
    curl -X GET " http:// localhost:92 "

これが役立つことを願っています

9
Yugo Gautomo
  1. エディターで/etc/init.d/elasticsearchファイルを開き、行の下にコメント

    . /usr/share/Java-wrappers/Java-wrappers.sh
    find_Java_runtime openjdk8 Oracle8 openjdk7 Oracle7 openjdk6 Sun6 default
    

    次のようにJava_HOMEを手動で設定します。

    export Java_HOME="/usr"
    
  2. サービスelasticsearch開始

2
Vishwas Samant

私の問題は異なり、rootユーザーとして手動でelasticsearchを開始したため、いくつかのファイルが誤った所有権で作成されたため、elasticsearchユーザーはそれらに書き込むことができません。

エラーを確認するには、コンソールからelasticsearchを起動してみてください。

Sudo -u elasticsearch /usr/share/elasticsearch/bin/elasticsearch \
 -Des.default.config=/etc/elasticsearch/elasticsearch.yml \
 -Des.default.path.home=/usr/share/elasticsearch \
 -Des.default.path.logs=/var/log/elasticsearch \
 -Des.default.path.data=/var/lib/elasticsearch \
 -Des.default.path.work=/tmp/elasticsearch \
 -Des.default.path.conf=/etc/elasticsearch

私のマシンで修正するために私はしなければなりませんでした:

rm -rf /var/log/elasticsearch/*
rm -rf /var/lib/elasticsearch/*
2
avalla