私のvps(linux x86_64 debian 9)にソナーをインストールしたいのですが、このcdm:./sonar.shコンソールを実行すると、次のログが表示されます。
Running SonarQube...
wrapper | --> Wrapper Started as Console wrapper | Launching a JVM...
jvm 1 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
jvm 1 | Copyright 1999-2006 Tanuki Software, Inc. All Rights Reserved.
jvm 1 |
jvm 1 | 2017.12.14 18:45:28 INFO app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /etc/sonarqube/temp
jvm 1 | 2017.12.14 18:45:28 INFO app[][o.s.a.es.EsSettings] Elasticsearch listening on /127.0.0.1:9001
jvm 1 | 2017.12.14 18:45:29 INFO app[][o.s.a.p.ProcessLauncherImpl] Launch process[[key='es', ipcIndex=1, logFilenamePrefix=es]] from [/etc/sonarqube/elasticsearch]: /etc/sonarqube/elasticsearch/bin/elasticsearch -Epath.conf=/etc/sonarqube/temp/conf/es
jvm 1 | 2017.12.14 18:45:29 INFO app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
jvm 1 | 2017.12.14 18:45:29 WARN app[][o.s.a.p.AbstractProcessMonitor] Process exited with exit value [es]: 137
jvm 1 | 2017.12.14 18:45:29 INFO app[][o.s.a.SchedulerImpl] Process [es] is stopped
jvm 1 | 2017.12.14 18:45:29 INFO app[][o.s.a.SchedulerImpl] SonarQube is stopped
jvm 1 | 2017.12.14 18:45:29 INFO app[][o.e.p.PluginsService] no modules loaded
jvm 1 | 2017.12.14 18:45:29 INFO app[][o.e.p.PluginsService] loaded plugin [org.elasticsearch.transport.Netty4Plugin]
jvm 1 | 2017.12.14 18:45:30 WARN app[][i.n.u.i.MacAddressUtil] Failed to find a usable hardware address from the network interfaces; using random bytes: 05:2b:7f:2f:de:90:ca:4a
wrapper | <-- Wrapper Stopped
サーバーがすぐにシャットダウンされる理由は? [es]:137を検索しましたが、何も見つかりませんでした:(
メモリの問題です。コンテナとしてSonarを実行すると、この種の問題が発生し、Sonarコンテナで使用可能な最大メモリを2GBまたはRAM未満に制限しようとしました。
Sonarは、大量のメモリを必要とするElasticsearchのフードの下で実行されるため、この場合は、Sonarに2GB以上を割り当てることをお勧めします。
ES_Java_OPTSでメモリを2GB未満に制限することもできますが(メモリサーバーが限られている場合)、このオプションを使用して再生を試みたところ、ソナーは正常に開始されましたが、しばらくしてトラフィックの問題が発生し、コンテナーが停止しました。
したがって、これはメモリの問題であるという上記のチケットの説明は正しいです: https://github.com/10up/wp-local-docker/issues/6
だから私はこの状況で問題に対処する最も簡単な方法だと思います-Sonarサーバー(コンテナー)のメモリを増やすだけです。
このページでSonarQube Process exited with exit value [es]: 1
を探しました。
私の場合、答えは記憶ではなく、ルートとして実行しようとしたという事実でした。元の質問に対するコメントを@Varunに感謝します。
非特権ユーザーとして実行すると、私のためにそれを解決しました
root@hostname # useradd sonar
root@hostname # chown -R sonar:sonar /opt/sonarqube
root@hostname # su - sonar
sonar@hostname # cd /opt/sonarqube
sonar@hostname # bin/linux-x86-64/sonar.sh console
/ opt/sonarqubeの権限は多すぎる可能性がありますが、これは試用版のインストールにすぎません。