Sonar8.3.1降級到7.8

參考

https://docs.sonarqube.org/7.8/setup/get-started-2-minutes/

https://www.jianshu.com/p/9799871b5e18

 

下載

https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-8.3.1.34397.zip
https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.8.zip

 

啓動 

/usr/local/sonarqube/bin/linux-x86-64/sonar.sh console

Running SonarQube...
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    | 
jvm 1    | WrapperSimpleApp: Encountered an error running main: java.lang.IllegalStateException: SonarQube requires Java 11 to run
jvm 1    | java.lang.IllegalStateException: SonarQube requires Java 11 to run
jvm 1    |      at com.google.common.base.Preconditions.checkState(Preconditions.java:508)
jvm 1    |      at org.sonar.application.App.checkJavaVersion(App.java:94)
jvm 1    |      at org.sonar.application.App.start(App.java:57)
jvm 1    |      at org.sonar.application.App.main(App.java:98)
jvm 1    |      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
jvm 1    |      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
jvm 1    |      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
jvm 1    |      at java.lang.reflect.Method.invoke(Method.java:498)
jvm 1    |      at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:240)
jvm 1    |      at java.lang.Thread.run(Thread.java:748)
wrapper  | <-- Wrapper Stopped

分析:sonar 8.x 都是JDK11,本地現在是JDK8,重新下載7.8來安裝

 

修改配置

sonar.jdbc.username=root
sonar.jdbc.password=root
sonar.jdbc.url=jdbc:mysql://172.18.0.1:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false

再次啓動報錯

Running SonarQube...

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.05.21 10:53:20 WARN  app[][o.s.application.App] SonarQube will require Java 11+ starting on next version

jvm 1    | 2020.05.21 10:53:20 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /usr/local/sonarqube/temp

jvm 1    | 2020.05.21 10:53:20 INFO  app[][o.s.a.es.EsSettings] Elasticsearch listening on /127.0.0.1:9001

jvm 1    | 2020.05.21 10:53:20 INFO  app[][o.s.a.ProcessLauncherImpl] Launch process[[key='es', ipcIndex=1, logFilenamePrefix=es]] from [/usr/local/sonarqube/elasticsearch]: /usr/local/sonarqube/elasticsearch/bin/elasticsearch

jvm 1    | 2020.05.21 10:53:20 INFO  app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running

jvm 1    | 2020.05.21 10:53:20 INFO  app[][o.e.p.PluginsService] no modules loaded

jvm 1    | 2020.05.21 10:53:20 INFO  app[][o.e.p.PluginsService] loaded plugin [org.elasticsearch.transport.Netty4Plugin]

jvm 1    | 2020.05.21 10:53:23 WARN  app[][o.s.a.p.AbstractManagedProcess] Process exited with exit value [es]: 1

jvm 1    | 2020.05.21 10:53:23 INFO  app[][o.s.a.SchedulerImpl] Process[es] is stopped

jvm 1    | 2020.05.21 10:53:23 INFO  app[][o.s.a.SchedulerImpl] SonarQube is stopped

wrapper  | <-- Wrapper Stopped

分析:看樣子是es的問題,再去檢查es日誌

2020.05.21 10:53:23 ERROR es[][o.e.b.Bootstrap] Exception

java.lang.RuntimeException: can not run elasticsearch as root

at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:103) ~[elasticsearch-6.8.0.jar:6.8.0]

at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:170) ~[elasticsearch-6.8.0.jar:6.8.0]

at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:333) [elasticsearch-6.8.0.jar:6.8.0]

at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:159) [elasticsearch-6.8.0.jar:6.8.0]

at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:150) [elasticsearch-6.8.0.jar:6.8.0]

at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) [elasticsearch-6.8.0.jar:6.8.0]

at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) [elasticsearch-cli-6.8.0.jar:6.8.0]

at org.elasticsearch.cli.Command.main(Command.java:90) [elasticsearch-cli-6.8.0.jar:6.8.0]

at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:116) [elasticsearch-6.8.0.jar:6.8.0]

at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93) [elasticsearch-6.8.0.jar:6.8.0]

2020.05.21 10:53:23 WARN  es[][o.e.b.ElasticsearchUncaughtExceptionHandler] uncaught exception in thread [main]

org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root

at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:163) ~[elasticsearch-6.8.0.jar:6.8.0]

at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:150) ~[elasticsearch-6.8.0.jar:6.8.0]

at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-6.8.0.jar:6.8.0]

at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-6.8.0.jar:6.8.0]

at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-6.8.0.jar:6.8.0]

at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:116) ~[elasticsearch-6.8.0.jar:6.8.0]

at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93) ~[elasticsearch-6.8.0.jar:6.8.0]

Caused by: java.lang.RuntimeException: can not run elasticsearch as root

at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:103) ~[elasticsearch-6.8.0.jar:6.8.0]

at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:170) ~[elasticsearch-6.8.0.jar:6.8.0]

at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:333) ~[elasticsearch-6.8.0.jar:6.8.0]

at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:159) ~[elasticsearch-6.8.0.jar:6.8.0]

... 6 more

分析:root用戶不能運行es,所以我們增加一個sonar用戶,並將目錄權限給到sonar用戶,切換到sonar再次啓動

Running SonarQube...

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.05.21 11:07:40 WARN  app[][o.s.application.App] SonarQube will require Java 11+ starting on next version

jvm 1    | 2020.05.21 11:07:40 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /usr/local/sonarqube/temp

jvm 1    | 2020.05.21 11:07:40 INFO  app[][o.s.a.es.EsSettings] Elasticsearch listening on /127.0.0.1:9001

jvm 1    | 2020.05.21 11:07:40 INFO  app[][o.s.a.ProcessLauncherImpl] Launch process[[key='es', ipcIndex=1, logFilenamePrefix=es]] from [/usr/local/sonarqube/elasticsearch]: /usr/local/sonarqube/elasticsearch/bin/elasticsearch

jvm 1    | 2020.05.21 11:07:40 INFO  app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running

jvm 1    | 2020.05.21 11:07:40 INFO  app[][o.e.p.PluginsService] no modules loaded

jvm 1    | 2020.05.21 11:07:40 INFO  app[][o.e.p.PluginsService] loaded plugin [org.elasticsearch.transport.Netty4Plugin]

jvm 1    | ERROR: [1] bootstrap checks failed

jvm 1    | [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

jvm 1    | 2020.05.21 11:07:47 WARN  app[][o.s.a.p.AbstractManagedProcess] Process exited with exit value [es]: 78

jvm 1    | 2020.05.21 11:07:47 INFO  app[][o.s.a.SchedulerImpl] Process[es] is stopped

jvm 1    | 2020.05.21 11:07:47 INFO  app[][o.s.a.SchedulerImpl] SonarQube is stopped

wrapper  | <-- Wrapper Stopped

分析:虛擬內存太小,需要增加到262144,後再次啓動

# 永久生效
echo "vm.max_map_count=262144" >/etc/sysctl.conf

# 臨時生效
sysctl -w vm.max_map_count=262144

# 查看結果
sysctl -a|grep vm.max_map_count

 

啓動成功

Running SonarQube...

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.05.21 11:15:37 WARN  app[][o.s.application.App] SonarQube will require Java 11+ starting on next version

jvm 1    | 2020.05.21 11:15:37 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /usr/local/sonarqube/temp

jvm 1    | 2020.05.21 11:15:37 INFO  app[][o.s.a.es.EsSettings] Elasticsearch listening on /127.0.0.1:9001

jvm 1    | 2020.05.21 11:15:37 INFO  app[][o.s.a.ProcessLauncherImpl] Launch process[[key='es', ipcIndex=1, logFilenamePrefix=es]] from [/usr/local/sonarqube/elasticsearch]: /usr/local/sonarqube/elasticsearch/bin/elasticsearch

jvm 1    | 2020.05.21 11:15:37 INFO  app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running

jvm 1    | 2020.05.21 11:15:37 INFO  app[][o.e.p.PluginsService] no modules loaded

jvm 1    | 2020.05.21 11:15:37 INFO  app[][o.e.p.PluginsService] loaded plugin [org.elasticsearch.transport.Netty4Plugin]

jvm 1    | 2020.05.21 11:15:49 INFO  app[][o.s.a.SchedulerImpl] Process[es] is up

jvm 1    | 2020.05.21 11:15:49 INFO  app[][o.s.a.ProcessLauncherImpl] Launch process[[key='web', ipcIndex=2, logFilenamePrefix=web]] from [/usr/local/sonarqube]: /usr/local/java/jre/bin/java -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djava.io.tmpdir=/usr/local/sonarqube/temp -Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError -Dhttp.nonProxyHosts=localhost|127.*|[::1] -cp ./lib/common/*:/usr/local/sonarqube/lib/jdbc/mysql/mysql-connector-java-5.1.46.jar org.sonar.server.app.WebServer /usr/local/sonarqube/temp/sq-process3065810337102632640properties

jvm 1    | 2020.05.21 11:16:51 INFO  app[][o.s.a.SchedulerImpl] Process[web] is up

jvm 1    | 2020.05.21 11:16:51 INFO  app[][o.s.a.ProcessLauncherImpl] Launch process[[key='ce', ipcIndex=3, logFilenamePrefix=ce]] from [/usr/local/sonarqube]: /usr/local/java/jre/bin/java -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djava.io.tmpdir=/usr/local/sonarqube/temp -Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError -Dhttp.nonProxyHosts=localhost|127.*|[::1] -cp ./lib/common/*:/usr/local/sonarqube/lib/jdbc/mysql/mysql-connector-java-5.1.46.jar org.sonar.ce.app.CeServer /usr/local/sonarqube/temp/sq-process5288721163571462535properties

jvm 1    | 2020.05.21 11:16:56 INFO  app[][o.s.a.SchedulerImpl] Process[ce] is up

jvm 1    | 2020.05.21 11:16:56 INFO  app[][o.s.a.SchedulerImpl] SonarQube is up

 

登陸

地址:http://localhost:9000,初始密碼:admin/admin

創建一個項目

 

 

分析你的項目

 

生成maven命令

複製maven命令在idea中執行即可,然後在控制檯查看檢查結果

 

完成

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