2017-10-20 84 views
8

SonarQube 6.5'ten 6.6'ya yükseltildikten sonra elasticsearch "root olarak çalıştırılamıyor" hatası alınıyor. Başka hiçbir şey değişmedi.SonarQube 6.5'ten 6.6'ya yükseltildikten sonra elasticsearch "root olarak çalıştırılamıyor" hatası alıyorsunuz. Başka hiçbir şey değişmedi

CentOs 6.8 (Final) Java (TM) SE Runtime Environment bırakın (build 1.8.0_101-b13)

java.lang.RuntimeException: can not run elasticsearch as root 
     at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:106) ~[elasticsearch-5.6.2.jar:5.6.2] 
     at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:195) ~[elasticsearch-5.6.2.jar:5.6.2] 
     at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:342) [elasticsearch-5.6.2.jar:5.6.2] 
     at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:132) [elasticsearch-5.6.2.jar:5.6.2] 
     at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:123) [elasticsearch-5.6.2.jar:5.6.2] 
     at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:67) [elasticsearch-5.6.2.jar:5.6.2] 
     at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:134) [elasticsearch-5.6.2.jar:5.6.2] 
     at org.elasticsearch.cli.Command.main(Command.java:90) [elasticsearch-5.6.2.jar:5.6.2] 
     at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91) [elasticsearch-5.6.2.jar:5.6.2] 
     at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) [elasticsearch-5.6.2.jar:5.6.2] 
2017.10.20 11:59: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.2.jar:5.6.2] 
     at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:123) ~[elasticsearch-5.6.2.jar:5.6.2] 
     at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:67) ~[elasticsearch-5.6.2.jar:5.6.2] 
     at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:134) ~[elasticsearch-5.6.2.jar:5.6.2] 
     at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-5.6.2.jar:5.6.2] 
     at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91) ~[elasticsearch-5.6.2.jar:5.6.2] 
     at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) ~[elasticsearch-5.6.2.jar:5.6.2] 
Caused by: java.lang.RuntimeException: can not run elasticsearch as root 
     at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:106) ~[elasticsearch-5.6.2.jar:5.6.2] 
     at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:195) ~[elasticsearch-5.6.2.jar:5.6.2] 
     at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:342) ~[elasticsearch-5.6.2.jar:5.6.2] 
     at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:132) ~[elasticsearch-5.6.2.jar:5.6.2] 
     ... 6 more 
+1

Yazılımı çalıştıran kullanıcıyı kontrol edin. Bkz. [This] (https://discuss.elastic.co/t/why-is-it-elasticsearch-is-not-allowed-to-run-as-root/60413/6) makalesi. –

cevap

13

Ben de, CentOS 7, root olarak SonarQube çalışan bu sorunu, deneyimli değil docker içinde. Önceki yorumlarda belirtildiği gibi, sorun, SonarQube'den ElasticSearch'ü yükseltmekten kaynaklanıyor ve yeni sürüm artık root olarak çalıştırılmasına izin vermiyor.

Ortamımda düzeltmeler yeterince kolaydı: Sonarqube dosyalarını "sahiplenmek" için bir kullanıcı ("sonar") ve grup ("sonar") oluşturmuştum. SonarQube işlemimin kök olarak çalıştığı için, köküne ait günlükleri ve geçici dosyaları bırakmıştı.
1. Hizmeti durdurdum.
2. Yeniden atanan her ownserships ("chown -R sonar: sonar /opt/sonarqube-6.6")
3. RUN_AS_USER=sonar için /opt/sonarqube-6.6/bin/linux-x86-64/sonar.sh hat 48'deki #RUN_AS_USER= değiştirildi ve sonarqube hizmeti ve elasticsearch hizmet hem daha sorunsuz yeniden başlatılmıştır. Veritabanını yükseltmek için http://<sonarhost:port>/setup'a gitmek zorunda kaldım ve her şey iyi çalıştı.

+3

Bu cevap OP, @RayeRaskin tarafından kabul edilmelidir. Nedeni için ayrıca https://stackoverflow.com/a/47733598/766786 adresini ziyaret edin. –