web-dev-qa-db-fra.com

Impossible d'exécuter Sonar Server car Elasticsearch ne peut pas s'exécuter en tant que root

J'essaie d'installer SonarQube: j'ai suivi ces étapes:

Configuration de SOnarQube Tuto: ici

Pour le résumer:

  • Téléchargement de Sonar et déplacement vers /opt/sonar
  • en ajoutant ces étapes de 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

et

sonar.web.Host=127.0.0.1
sonar.web.context=/sonar
sonar.web.port=9000
  • implémenter sonar en tant que service:

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

Sudo gedit /etc/init.d/sonar

Insérez deux nouvelles lignes:

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

Après ces étapes: j'ai essayé d'exécuter Sonar à partir de: localhost:9000/sonar et après l'exécution: Sudo /etc/init.d/sonar start `Étrangement, ça ne marche pas.

Donc, lorsque j'exécute le statut `Sudo /etc/init.d/sonar, je découvre qu'il passe par étapes après quelques secondes et qu'il génère une erreur dans son fichier journal, comme suit:

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

Toutes suggestions ??

6
firasKoubaa

Modifiez l'accès root au fichier sonar. Essayez de lancer avec un accès utilisateur normal.

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

SonarSource a mis à niveau l'outil Elasticsearch utilisé dans le cadre de la dernière version de SonarQube LTS. Par conséquent, SonarQube ne peut pas être exécuté en tant que root. Voir ce blog et les notes de mise à jour SonarQube 6.6 et ce SO .

20
Jeroen Heier