sonar启动的时候出现Process exited with exit value [es]: 143异常,这里有标注es(elasticsearch)的问题,所以要查看es的log。
我本机的sonar的logs目录如下:
[root@centos7 logs]# pwd
/opt/sonar/sonarqube-7.2.1/logs
[root@centos7 logs]# ll
总用量 200
-rw-r--r--. 1 pangkunkun1 pangkunkun1 5641 7月 16 22:12 access.log
-rw-r--r--. 1 pangkunkun1 pangkunkun1 1565 7月 16 22:11 ce.log
-rw-r--r--. 1 pangkunkun1 pangkunkun1 63061 7月 16 22:11 es.log
-rw-r--r--. 1 pangkunkun1 pangkunkun1 88 6月 29 13:35 README.txt
-rw-r--r--. 1 pangkunkun1 pangkunkun1 49793 7月 16 22:11 sonar.log
-rw-r--r--. 1 pangkunkun1 pangkunkun1 66260 7月 16 22:11 web.log
总共出现以下几个异常:
1、can not run elasticsearch as root
因为es不允许使用root用户启动,所以运行sonar的时候必须要新创建其它用户,然后用创建的用户启动sonar。
2、max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
这里要增加vm.max_map_count的值
[root@centos7 sonarqube-7.2.1]# vi /etc/sysctl.conf
vm.max_map_count=262144
[root@centos7 sonarqube-7.2.1]# sysctl -p
在/etc/sysctl.conf中添加vm.max_map_count=262144后执行sysctl -p使配置生效。
3、max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
解决方案同上
[root@centos7 sonarqube-7.2.1]# vi /etc/security/limits.conf
pangkunkun1 hard nofile 65536
pangkunkun1 soft nofile 65536
这里的pangkunkun1为上面创建的用来启动sonar的用户,修改好之后要切换到pangkunkun1这个用户之后才能生效。
使用ulimit -Hn指令查看配置是否生效:
[pangkunkun1@centos7 sonarqube-7.2.1]$ ulimit -Hn
65536
问题解决。
sonar启动比较慢(还有web端要启动),要出现以下信息才算完全启动成功
ile.encoding=UTF-8 -Djava.io.tmpdir=/opt/sonar/sonarqube-7.2.1/temp -Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError -cp ./lib/common/*:/opt/sonar/sonarqube-7.2.1/lib/jdbc/h2/h2-1.3.176.jar org.sonar.ce.app.CeServer /opt/sonar/sonarqube-7.2.1/temp/sq-process6440421051293515829properties
jvm 1 | 2018.07.16 22:11:58 INFO app[][o.s.a.SchedulerImpl] Process[ce] is up
jvm 1 | 2018.07.16 22:11:58 INFO app[][o.s.a.SchedulerImpl] SonarQube is up
输入 http://10.10.20.127:9000 后就可以进入web端了,使用admin/admin进行登录。
---------------------
作者:月未明
版权声明:本文为博主原创文章,转载请附上博文链接!