elasticsearch - 从 SonarQube 6.5 升级到 6.6 后出现 elasticsearch "can not run as root"错误。没有其他改变

标签 elasticsearch sonarqube runtimeexception sonarqube-ops

从 SonarQube 6.5 升级到 6.6 后出现 elasticsearch“无法以 root 身份运行”错误。其他都没有改变。

CentOS 6.8 版(最终版) Java(TM) SE 运行时环境(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

最佳答案

我也遇到过这个问题,在 Centos 7 上以 root 身份运行 SonarQube,而不是在 docker 中。之前的评论中提到,问题来自SonarQube升级ElasticSearch,新版本不再允许自身以root身份运行。

在我的环境中,修复非常简单:我已经创建了一个用户(“sonar”)和组(“sonar”)来“拥有”sonarqube 文件。由于我的 SonarQube 进程一直以 root 身份运行,因此它保留了 root 拥有的日志和临时文件。
1.我停止了服务。
2.重新分配所有所有权(“chown -R sonar:sonar/opt/sonarqube-6.6”)
3. 更改#RUN_AS_USER=/opt/sonarqube-6.6/bin/linux-x86-64/sonar.sh第 48 行到 RUN_AS_USER=sonar并且 sonarqube 服务及其 elasticsearch 服务都重新启动,没有进一步的问题。我不得不去 http://<sonarhost:port>/setup升级数据库,一切正常。

关于elasticsearch - 从 SonarQube 6.5 升级到 6.6 后出现 elasticsearch "can not run as root"错误。没有其他改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46857688/

相关文章:

go - 从 lint 问题报告中排除特定文件集

java - 了解 sonarqube 中的缠结指数

sonarqube - 将 Sonarqube 报告导出到 Excel - 基于主要、次要和关键类别

java - 如何包装检查的异常但在 Java 中保留原始的运行时异常

java - 相机 java.lang.RuntimeException : setParameters failed

java - 如何在Spring数据elasticsearch中映射嵌套对象列表

java - 如何使用 Java 客户端更新 Elastic Search 上的条目

java - Android Studio 错误 : Can't create handler inside thread that has not called Looper. 准备()

elasticsearch - elasticsearch服务器状态503,发现失败

elasticsearch - Elastic Search中的查询电子邮件列