sonar啓動 Process exited with exit value [es]: 143

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進行登錄。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章