sonar启动失败原因分析
jenkins调用sonar报错es报错Process exited with exit value [es]: 1es报错java.nio.file.AccessDeniedException: /var/sonarqube/temp/conf/es/elasticsearch.ymlweb报错java.net.BindException: 地址已在使用
·
背景:
之前sonar使用都是正常的,突然出现问题,网页可以访问,但无任何数据。
1.推测是与数据库的连接问题。
验证:
网页可以访问是因为残存的sonar进程。
注意:因为该问题出现在正常使用之后报错,应用版本没有升级过,不需要考虑版本问题。
1.jenkins调用sonar报错
2.排查sonar情况
2.1 es报错Process exited with exit value [es]: 1
原因:es不能使用root用户启动,因此sonar不能使用root用户启动。创建sonar用户
2.2 es报错java.nio.file.AccessDeniedException: /var/sonarqube/temp/conf/es/elasticsearch.yml
原因:使用root启动sonar后,导致es文件的权限为root。sonar用户无权修改文件
解决方案:
- 到达对应的es目录,赋予sonar的用户的可执行权限
chown -R sonar:sonar es/
- es.log的可执行权限也需要调整
chown -R sonar:sonar es.log
2.3 端口占用
web报错java.net.BindException: 地址已在使用
使用 ./sonar.sh stop 命令,返回sonar未启动
但使用ps -ef|grep sonar 能够查询到数据
需要干掉残留的进程 kill -9 [进程号]
更多推荐
已为社区贡献2条内容
所有评论(0)