SonarQube遇到的启动问题及解决方案

操作系统:centos 7 (x86)

一、问题描述:使用root启动时,一直反馈    SonarQube is not running

问题原因:不能够使用root用户进行启动

解决方案:①创建一个其他用户(如sonar)   adduser sonar   设置密码  passwd sonar

                  ②更改sonarqube的安装目录的用户组   chown -R sonar:sonar sonarqube-XXX

                  ③切换用户启动 su sonar             xxxx/sonar.sh start

二、启动时可能会遇到一个现象, 服务一会挂掉或者启动不起来,使用sonar.sh console 命令查看后,输出日志如下:

wrapper  | --> Wrapper Started as Console
wrapper  | Launching a JVM...
jvm 1    | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
jvm 1    |   Copyright 1999-2006 Tanuki Software, Inc.  All Rights Reserved.
jvm 1    | 
jvm 1    | 2020.09.14 23:51:49 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /opt/sonarqube-7.6/temp
jvm 1    | 2020.09.14 23:51:49 INFO  app[][o.s.a.es.EsSettings] Elasticsearch listening on /127.0.0.1:9001
jvm 1    | 2020.09.14 23:51:49 ERROR app[][o.s.a.p.ManagedProcessHandler] Fail to launch process [es]
jvm 1    | java.lang.IllegalStateException: Cannot write Elasticsearch yml settings file
jvm 1    | 	at org.sonar.application.es.EsYmlSettings.writeToYmlSettingsFile(EsYmlSettings.java:53)
jvm 1    | 	at org.sonar.application.ProcessLauncherImpl.writeConfFiles(ProcessLauncherImpl.java:151)
jvm 1    | 	at org.sonar.application.ProcessLauncherImpl.launch(ProcessLauncherImpl.java:84)
jvm 1    | 	at org.sonar.application.SchedulerImpl.lambda$tryToStartProcess$2(SchedulerImpl.java:196)
jvm 1    | 	at org.sonar.application.process.ManagedProcessHandler.start(ManagedProcessHandler.java:73)
jvm 1    | 	at org.sonar.application.SchedulerImpl.tryToStartProcess(SchedulerImpl.java:194)
jvm 1    | 	at org.sonar.application.SchedulerImpl.tryToStartEs(SchedulerImpl.java:146)
jvm 1    | 	at org.sonar.application.SchedulerImpl.tryToStartAll(SchedulerImpl.java:138)
jvm 1    | 	at org.sonar.application.SchedulerImpl.schedule(SchedulerImpl.java:112)
jvm 1    | 	at org.sonar.application.App.start(App.java:69)
jvm 1    | 	at org.sonar.application.App.main(App.java:98)
jvm 1    | 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
jvm 1    | 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
jvm 1    | 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
jvm 1    | 	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
jvm 1    | 	at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:240)
jvm 1    | 	at java.base/java.lang.Thread.run(Thread.java:834)
jvm 1    | Caused by: java.nio.file.AccessDeniedException: /opt/sonarqube-7.6/temp/conf/es/elasticsearch.yml
jvm 1    | 	at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:90)
jvm 1    | 	at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)

问题原因: 用root启动过会创建temp目录,该目录为root用户所有,使用自己创建的sonar用户启动时就会报错

解决方案:使用root用户修改该文件夹的用户组(temp),让它属于sonarqube的启动用户(自己创建的那个),再次启动就ok了       chown -R sonar:sonar /opt/sonarqube-7.6/temp

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值