SonarQube遇到的启动问题及解决方案
2024-08-29 20:09:09
操作系统: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/sonarqu
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.j
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 -Rf sonar:sonar /opt/sonarqube-7.6/temp
最新文章
- IntelliJ IDEA使用(一):创建maven web项目
- JS高级程序设计 笔记
- (转)postman中 form-data、x-www-form-urlencoded、raw、binary的区别
- 【jmeter】JMeter函数学习
- python metaclass 入门简介
- activiti入门3排他网关,并行网管,包含网关,事件网关(转)
- RBAC角色权限设计思路
- 分布式版本控制系统Git-----5.Git 的push命令总结
- idea integrate project
- 带着新人学springboot的应用10(springboot+定时任务+发邮件)
- pymongo使用手册
- centos7 install nginx+fastdfs
- 【第一篇】SAP ABAP7.5x新语法之预定义数据结构
- k-近邻算法(KNN)
- C#+arcengine获得栅格数据的像素值(高程)
- tornado-简单的服务器非阻塞
- Web缓存加速指南(转载)
- SQL面经汇总
- hdu3549网络流之最大流
- mysql 中显示 table 的基本信息