私はSonarQubeをインストールしようとしています:私はそれらのステップを踏んだ:
要約すると:
/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
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
任意の提案??
ソナーファイルへのルートアクセスを変更します。通常のユーザーアクセスで実行してみてください。
chown <another user>:<user group> sonar.sh
SonarSourceは、最新のSonarQube LTSバージョンの一部として使用されるElasticsearchツールをアップグレードしました。その結果、SonarQubeはルートとして実行できません。 this ブログと SonarQube 6.6 アップグレードノートと this SO 質問をご覧ください。