web-dev-qa-db-ja.com

Elasticsearchがルートとして実行できないため、Sonarサーバーを実行できません

私はSonarQubeをインストールしようとしています:私はそれらのステップを踏んだ:

SOnarQube Tutoのセットアップ:ここ

要約すると:

  • Sonarをダウンロードして/opt/sonarに移動する
  • これらのcoonfigステップを/opt/sonar/conf/sonar.propertiesに追加します:

    sonar.jdbc.username = sonar sonar.jdbc.password = sonar

sonar.jdbc.url = jdbc:mysql:// localhost:3306/sonar?useUnicode = true&characterEncoding = utf8&rewriteBatchedStatements = true&useConfigs = maxPerformance

and

sonar.web.Host=127.0.0.1
sonar.web.context=/sonar
sonar.web.port=9000
  • サービスとしてsonarを実装する:

Sudo cp /opt/sonar/bin/linux-x86-64/sonar.sh /etc/init.d/sonar

Sudo gedit /etc/init.d/sonar

2つの新しい行を挿入します:

SONAR_HOME=/opt/sonar
PLATFORM=linux-x86-64
Modify the following lines:

WRAPPER_CMD="${SONAR_HOME}/bin/${PLATFORM}/wrapper"
WRAPPER_CONF="${SONAR_HOME}/conf/wrapper.conf"

...

PIDDIR="/var/run"
Register as a Linux service:

Sudo update-rc.d -f sonar remove
Sudo chmod 755 /etc/init.d/sonar
Sudo update-rc.d sonar defaults

それらのステップの後:私はlocalhost:9000/sonarからSonarを実行しようとしましたが、実行した後:Sudo /etc/init.d/sonar start `奇妙なことに、実行されませんでした。

したがって、 `Sudo /etc/init.d/sonar statusを実行すると、数秒後にステップが実行され、次のようなエラーがログファイルにスローされることがわかります。

es.log:

2017.12.09 18:05:14 ERROR es[][o.e.b.Bootstrap] Exception
Java.lang.RuntimeException: can not run elasticsearch as root
    at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.Java:106) ~[elasticsearch-5.6.3.jar:5.6.3]
    at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.Java:195) ~[elasticsearch-5.6.3.jar:5.6.3]
    at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.Java:342) [elasticsearch-5.6.3.jar:5.6.3]
    at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.Java:132) [elasticsearch-5.6.3.jar:5.6.3]
    at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.Java:123) [elasticsearch-5.6.3.jar:5.6.3]
    at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.Java:70) [elasticsearch-5.6.3.jar:5.6.3]
    at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.Java:134) [elasticsearch-5.6.3.jar:5.6.3]
    at org.elasticsearch.cli.Command.main(Command.Java:90) [elasticsearch-5.6.3.jar:5.6.3]
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.Java:91) [elasticsearch-5.6.3.jar:5.6.3]
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.Java:84) [elasticsearch-5.6.3.jar:5.6.3]
2017.12.09 18:05:14 WARN  es[][o.e.b.ElasticsearchUncaughtExceptionHandler] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: Java.lang.RuntimeException: can not run elasticsearch as root
    at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.Java:136) ~[elasticsearch-5.6.3.jar:5.6.3]
    at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.Java:123) ~[elasticsearch-5.6.3.jar:5.6.3]
    at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.Java:70) ~[elasticsearch-5.6.3.jar:5.6.3]
    at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.Java:134) ~[elasticsearch-5.6.3.jar:5.6.3]
    at org.elasticsearch.cli.Command.main(Command.Java:90) ~[elasticsearch-5.6.3.jar:5.6.3]
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.Java:91) ~[elasticsearch-5.6.3.jar:5.6.3]
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.Java:84) ~[elasticsearch-5.6.3.jar:5.6.3]
Caused by: Java.lang.RuntimeException: can not run elasticsearch as root
    at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.Java:106) ~[elasticsearch-5.6.3.jar:5.6.3]
    at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.Java:195) ~[elasticsearch-5.6.3.jar:5.6.3]
    at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.Java:342) ~[elasticsearch-5.6.3.jar:5.6.3]
    at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.Java:132) ~[elasticsearch-5.6.3.jar:5.6.3]
    ... 6 more

任意の提案??

6
firasKoubaa

ソナーファイルへのルートアクセスを変更します。通常のユーザーアクセスで実行してみてください。

chown <another user>:<user group> sonar.sh
0
Jacks

SonarSourceは、最新のSonarQube LTSバージョンの一部として使用されるElasticsearchツールをアップグレードしました。その結果、SonarQubeはルートとして実行できません。 this ブログと SonarQube 6.6 アップグレードノートと this SO 質問をご覧ください。

20
Jeroen Heier