高版本sonar安裝遇到的坑-sonar 6.7.5


最近安裝了6.7.5版本的sonar,發現里面的坑還是很多,下面列舉下遇到的坑

sonar插件地址:https://docs.sonarqube.org/display/PLUG/Plugin+Library

坑一 

6.7.5版本sonar要求jdk比較高,必須1.8以上,多以修改sonar啟動項配置,修改文件/sonarqube-6.7.5/conf/wrapper.conf

#wrapper.java.command=/path/to/my/jdk/bin/java
#wrapper.java.command=java
wrapper.java.command=/sonar/jdk1.8.0_121/bin/java  //加入1.8jdk作為啟動jdk

 

坑二

由於6.7.5版本加入了elasticsearch,遇到不能以root用戶啟動,報錯信息如下:

復制代碼
java.lang.RuntimeException: can not run elasticsearch as root
    at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:106) ~[elasticsearch-5.6.2.jar:5.6.2]
    at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:195) ~[elasticsearch-5.6.2.jar:5.6.2]
    at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:342) [elasticsearch-5.6.2.jar:5.6.2]
    at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:132) [elasticsearch-5.6.2.jar:5.6.2]
    at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:123) [elasticsearch-5.6.2.jar:5.6.2]
    at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:67) [elasticsearch-5.6.2.jar:5.6.2]
    at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:134) [elasticsearch-5.6.2.jar:5.6.2]
    at org.elasticsearch.cli.Command.main(Command.java:90) [elasticsearch-5.6.2.jar:5.6.2]
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91) [elasticsearch-5.6.2.jar:5.6.2]
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) [elasticsearch-5.6.2.jar:5.6.2]
復制代碼

解決方案:

因為安全問題elasticsearch 不讓用root用戶直接運行,所以要創建新用戶,用新用戶啟動

groupadd elsearch
useradd elsearch -g elsearch -p elasticsearch

坑三

由於sonar需要用新用戶啟動,所以sonar需要用到的所有資源必須屬於新用戶(包括jdk,坑3會講到),不然會有權限問題

chown -R elsearch /sonarqube-6.7.5 //把sonar資源分配給用戶elsearch
chgrp -R elsearch /sonarqube-6.7.5 //把sonar資源分配給組elsearch
chown -R elsearch /jdk1.8 //把jdk資源分配給用戶elsearch
chgrp -R elsearch /jdk1.8 //把jdk資源分配給組elsearch

坑四

如果忘記以新用戶啟動,而是以root啟動,elasticsearch會在/sonarqube-6.7.5/temp里會加載一些配置文件,如果這些文件初次加載則是屬於root用戶的,啟動也會失敗,報權限問題

所以記住一定要以新用戶啟動sonar

坑五

6.7.5不兼容低版本插件,例如sonar-web插件版本低於2.5則sonar啟動不了。(插件位置/sonarqube-6.7.5/extensions/plugins),必須要找到合適的插件版本

坑六

因為高版本sonar使用jdk1.8,如果在做sonar掃描的時候運行jdk不是1.8也會報jdk版本問題

Caused by: java.lang.UnsupportedClassVersionError: org/sonar/api/utils/SonarException : Unsupported major.minor version 52.0

所以不過用ant或者maven運行代碼掃描的時候 必須要用jdk1.8


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM