centos7服务器上sonarqube搭建失败

搭建环境:centos7
使用命令

#创建容器网络
docker network create sonarqube

#创建数据库容器实例
docker run -d \
  --name sonarqube_postgres \
  --network sonarqube \
  -e POSTGRES_USER=sonarqube \
  -e POSTGRES_PASSWORD=sonarqube \
  -e PGDATA=/var/lib/postgresql/data/pgdata \
  -v $PWD/postgresql_data:/var/lib/postgresql/data \
  postgres

#创建sonarqube容器实例,可以通过-Xms4g -Xmx4g增加下ES的堆内存大小
#mac环境需要加 -e SONAR_SEARCH_JAVAADDITIONALOPTS="-Dbootstrap.system_call_filter=false"
docker run -d  \
  --name sonarqube_hogwarts \
  -p 9000:9000 -p 9092:9092 \
  --network sonarqube \
  -e SONARQUBE_JDBC_USERNAME=sonarqube \
  -e SONARQUBE_JDBC_PASSWORD=sonarqube \
  -e SONARQUBE_JDBC_URL="jdbc:postgresql://sonarqube_postgres/sonarqube" \
  -e SONAR_SEARCH_JAVAADDITIONALOPTS="-Xms2g -Xmx2g" \
  -e SONARQUBE_WEB_JVM_OPTS="-Xms1g -Xmx1g" \
  -v $PWD/sonarqube_data:/opt/sonarqube/data \
  -v $PWD/sonarqube_extensions:/opt/sonarqube/extensions \
  -v $PWD/sonarqube_logs:/opt/sonarqube/logs \
  sonarqube

日志报错信息:

2022.09.26 08:34:53 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /opt/sonarqube/temp
2022.09.26 08:34:53 INFO  app[][o.s.a.es.EsSettings] Elasticsearch listening on [HTTP: 127.0.0.1:9001, TCP: 127.0.0.1:42449]
2022.09.26 08:34:53 INFO  app[][o.s.a.ProcessLauncherImpl] Launch process[ELASTICSEARCH] from [/opt/sonarqube/elasticsearch]: /opt/sonarqube/elasticsearch/bin/elasticsearch
2022.09.26 08:34:53 INFO  app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000080000000, 2147483648, 0) failed; error='Not enough space' (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 2147483648 bytes for committing reserved memory.
# An error report file with more information is saved as:
# ../logs/es_hs_err_pid31.log
2022.09.26 08:34:54 WARN  app[][o.s.a.p.AbstractManagedProcess] Process exited with exit value [ElasticSearch]: 1
2022.09.26 08:34:54 INFO  app[][o.s.a.SchedulerImpl] Process[ElasticSearch] is stopped
2022.09.26 08:34:54 INFO  app[][o.s.a.SchedulerImpl] SonarQube is stopped

你是不是内存或者磁盘空间不够

我也看到这个错误了,但是我查看磁盘空间还有很多

你的内存多大 free -m 看看

内存不够导致的,把 -Xms -Xmx 之类的内存需求组去掉就行了。不过最好的办法还是多分配点内存,不然跑起来会比较慢。

这个log日志告诉我要求内存大小为20g,我使用老师指定的3g内存没有效果

如果不指定内存大小也是一样的结果

参考这一页ppt

#临时方案
sysctl -w vm.max_map_count=262144
#永久方案 添加一行到/etc/sysctl.conf
vm.max_map_count=262144

老师,我安装插件重启后出现了没有遇到过的错误。我自己的理解是安装不成功找不到这个插件。于是我删除了当前的container,重新创建了一个新的容器,但还是报同样的错误

sonar_logs.txt (15.0 KB)

这个错误是说你的checkstyle没下载完整,去你的plugin目录下删除这个文件就可以了。
网上下载可能会有问题,你可以自己找到官方自己下载文件,并放到plugin目录下就可以了。

Dropping Privileges
2022.09.26 11:40:06 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /opt/sonarqube/temp
2022.09.26 11:40:06 INFO  app[][o.s.a.es.EsSettings] Elasticsearch listening on [HTTP: 127.0.0.1:9001, TCP: 127.0.0.1:32839]
2022.09.26 11:40:06 INFO  app[][o.s.a.ProcessLauncherImpl] Launch process[ELASTICSEARCH] from [/opt/sonarqube/elasticsearch]: /opt/sonarqube/elasticsearch/bin/elasticsearch
2022.09.26 11:40:06 INFO  app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
2022.09.26 11:40:08 INFO  es[][o.e.n.Node] version[7.17.4], pid[31], build[default/tar/79878662c54c886ae89206c685d9f1051a9d6411/2022-05-18T18:04:20.964345128Z], OS[Linux/3.10.0-1160.el7.x86_64/amd64], JVM[Alpine/OpenJDK 64-Bit Server VM/11.0.15/11.0.15+10-alpine-r0]
2022.09.26 11:40:08 INFO  es[][o.e.n.Node] JVM home [/usr/lib/jvm/java-11-openjdk]
2022.09.26 11:40:08 INFO  es[][o.e.n.Node] JVM arguments [-XX:+UseG1GC, -Djava.io.tmpdir=/opt/sonarqube/temp, -XX:ErrorFile=../logs/es_hs_err_pid%p.log, -Des.networkaddress.cache.ttl=60, -Des.networkaddress.cache.negative.ttl=10, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djna.nosys=true, -Djna.tmpdir=/opt/sonarqube/temp, -XX:-OmitStackTraceInFastThrow, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=0, -Dio.netty.allocator.numDirectArenas=0, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -Dlog4j2.formatMsgNoLookups=true, -Djava.locale.providers=COMPAT, -Dcom.redhat.fips=false, -Des.enforce.bootstrap.checks=true, -Xmx512m, -Xms512m, -XX:MaxDirectMemorySize=256m, -XX:+HeapDumpOnOutOfMemoryError, -Xms2g, -Xmx2g, -Des.path.home=/opt/sonarqube/elasticsearch, -Des.path.conf=/opt/sonarqube/temp/conf/es, -Des.distribution.flavor=default, -Des.distribution.type=tar, -Des.bundled_jdk=false]
2022.09.26 11:40:09 INFO  es[][o.e.p.PluginsService] loaded module [analysis-common]
2022.09.26 11:40:09 INFO  es[][o.e.p.PluginsService] loaded module [lang-painless]
2022.09.26 11:40:09 INFO  es[][o.e.p.PluginsService] loaded module [parent-join]
2022.09.26 11:40:09 INFO  es[][o.e.p.PluginsService] loaded module [reindex]
2022.09.26 11:40:09 INFO  es[][o.e.p.PluginsService] loaded module [transport-netty4]
2022.09.26 11:40:09 INFO  es[][o.e.p.PluginsService] no plugins loaded
2022.09.26 11:40:09 INFO  es[][o.e.e.NodeEnvironment] using [1] data paths, mounts [[/opt/sonarqube/data (/dev/sda3)]], net usable_space [77.9gb], net total_space [97.5gb], types [xfs]
2022.09.26 11:40:09 INFO  es[][o.e.e.NodeEnvironment] heap size [2gb], compressed ordinary object pointers [true]
2022.09.26 11:40:09 INFO  es[][o.e.n.Node] node name [sonarqube], node ID [n0KLEa1NRCyXxC0GJ7vQEw], cluster name [sonarqube], roles [data_frozen, master, remote_cluster_client, data, data_content, data_hot, data_warm, data_cold, ingest]
2022.09.26 11:40:13 INFO  es[][o.e.t.NettyAllocator] creating NettyAllocator with the following configs: [name=elasticsearch_configured, chunk_size=256kb, suggested_max_allocation_size=256kb, factors={es.unsafe.use_netty_default_chunk_and_page_size=false, g1gc_enabled=true, g1gc_region_size=1mb}]
2022.09.26 11:40:13 INFO  es[][o.e.i.r.RecoverySettings] using rate limit [40mb] with [default=40mb, read=0b, write=0b, max=0b]
2022.09.26 11:40:13 INFO  es[][o.e.d.DiscoveryModule] using discovery type [zen] and seed hosts providers [settings]
2022.09.26 11:40:13 INFO  es[][o.e.g.DanglingIndicesState] gateway.auto_import_dangling_indices is disabled, dangling indices will not be automatically detected or imported and must be managed manually
2022.09.26 11:40:14 INFO  es[][o.e.n.Node] initialized
2022.09.26 11:40:14 INFO  es[][o.e.n.Node] starting ...
2022.09.26 11:40:14 INFO  es[][o.e.t.TransportService] publish_address {127.0.0.1:32839}, bound_addresses {127.0.0.1:32839}
2022.09.26 11:40:14 INFO  es[][o.e.b.BootstrapChecks] explicitly enforcing bootstrap checks
2022.09.26 11:40:14 INFO  es[][o.e.c.c.Coordinator] cluster UUID [y1eJuPLqQF6cp8lGc4Fgjg]
2022.09.26 11:40:15 INFO  es[][o.e.c.s.MasterService] elected-as-master ([1] nodes joined)[{sonarqube}{n0KLEa1NRCyXxC0GJ7vQEw}{-IZH3r6JQlSIZgsIXE69AA}{127.0.0.1}{127.0.0.1:32839}{cdfhimrsw} elect leader, _BECOME_MASTER_TASK_, _FINISH_ELECTION_], term: 5, version: 106, delta: master node changed {previous [], current [{sonarqube}{n0KLEa1NRCyXxC0GJ7vQEw}{-IZH3r6JQlSIZgsIXE69AA}{127.0.0.1}{127.0.0.1:32839}{cdfhimrsw}]}
2022.09.26 11:40:15 INFO  es[][o.e.c.s.ClusterApplierService] master node changed {previous [], current [{sonarqube}{n0KLEa1NRCyXxC0GJ7vQEw}{-IZH3r6JQlSIZgsIXE69AA}{127.0.0.1}{127.0.0.1:32839}{cdfhimrsw}]}, term: 5, version: 106, reason: Publication{term=5, version=106}
2022.09.26 11:40:15 INFO  es[][o.e.h.AbstractHttpServerTransport] publish_address {127.0.0.1:9001}, bound_addresses {127.0.0.1:9001}
2022.09.26 11:40:15 INFO  es[][o.e.n.Node] started
2022.09.26 11:40:15 INFO  es[][o.e.g.GatewayService] recovered [7] indices into cluster_state
2022.09.26 11:40:17 INFO  es[][o.e.c.r.a.AllocationService] Cluster health status changed from [RED] to [GREEN] (reason: [shards started [[components][2], [components][0], [metadatas][0]]]).
2022.09.26 11:40:17 INFO  app[][o.s.a.SchedulerImpl] Process[es] is up
2022.09.26 11:40:17 INFO  app[][o.s.a.ProcessLauncherImpl] Launch process[WEB_SERVER] from [/opt/sonarqube]: /usr/lib/jvm/java-11-openjdk/bin/java -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djava.io.tmpdir=/opt/sonarqube/temp -XX:-OmitStackTraceInFastThrow --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.management/sun.management=ALL-UNNAMED --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED -Dcom.redhat.fips=false -Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError -Xms1g -Xmx1g -Dhttp.nonProxyHosts=localhost|127.*|[::1] -cp ./lib/sonar-application-9.6.1.59531.jar:/opt/sonarqube/lib/jdbc/postgresql/postgresql-42.4.0.jar org.sonar.server.app.WebServer /opt/sonarqube/temp/sq-process8442708631230360113properties
2022.09.26 11:40:17 INFO  web[][o.s.p.ProcessEntryPoint] Starting Web Server
2022.09.26 11:40:19 INFO  web[][o.s.s.p.LogServerVersion] SonarQube Server / 9.6.1.59531 / 7398ee51f5da9a64ea123c98c5225aa5c41f700c
2022.09.26 11:40:19 INFO  web[][o.sonar.db.Database] Create JDBC data source for jdbc:postgresql://sonarqube_postgres/sonarqube
2022.09.26 11:40:20 INFO  web[][o.s.s.p.ServerFileSystemImpl] SonarQube home: /opt/sonarqube
2022.09.26 11:40:20 INFO  web[][o.s.s.u.SystemPasscodeImpl] System authentication by passcode is disabled
2022.09.26 11:40:20 INFO  web[][o.s.c.p.PluginInfo] Plugin [l10nzh] defines 'l10nen' as base plugin. This metadata can be removed from manifest of l10n plugins since version 5.2.
2022.09.26 11:40:20 WARN  web[][o.s.c.a.AnnotationConfigApplicationContext] Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jdk.internal.loader.ClassLoaders$AppClassLoader@5c29bfd-org.sonar.server.plugins.ServerPluginManager': Initialization of bean failed; nested exception is java.lang.IllegalStateException: Unable to read plugin manifest from jar : /opt/sonarqube/extensions/downloads/checkstyle-sonar-plugin-10.3.2.jar
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jdk.internal.loader.ClassLoaders$AppClassLoader@5c29bfd-org.sonar.server.plugins.ServerPluginManager': Initialization of bean failed; nested exception is java.lang.IllegalStateException: Unable to read plugin manifest from jar : /opt/sonarqube/extensions/downloads/checkstyle-sonar-plugin-10.3.2.jar
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:628)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:953)
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583)
	at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:187)
	at org.sonar.server.platform.platformlevel.PlatformLevel.start(PlatformLevel.java:80)
	at org.sonar.server.platform.platformlevel.PlatformLevel2.start(PlatformLevel2.java:105)
	at org.sonar.server.platform.PlatformImpl.start(PlatformImpl.java:196)
	at org.sonar.server.platform.PlatformImpl.startLevel2Container(PlatformImpl.java:169)
	at org.sonar.server.platform.PlatformImpl.init(PlatformImpl.java:77)
	at org.sonar.server.platform.web.PlatformServletContextListener.contextInitialized(PlatformServletContextListener.java:43)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4768)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5230)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
	at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919)
	at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
	at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919)
	at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
	at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
	at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:927)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
	at org.sonar.server.app.EmbeddedTomcat.start(EmbeddedTomcat.java:72)
	at org.sonar.server.app.WebServer.start(WebServer.java:55)
	at org.sonar.process.ProcessEntryPoint.launch(ProcessEntryPoint.java:97)
	at org.sonar.process.ProcessEntryPoint.launch(ProcessEntryPoint.java:81)
	at org.sonar.server.app.WebServer.main(WebServer.java:104)
Caused by: java.lang.IllegalStateException: Unable to read plugin manifest from jar : /opt/sonarqube/extensions/downloads/checkstyle-sonar-plugin-10.3.2.jar
	at org.sonar.updatecenter.common.PluginManifest.<init>(PluginManifest.java:125)
	at org.sonar.core.platform.PluginInfo.create(PluginInfo.java:357)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
	at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
	at org.sonar.server.plugins.PluginJarLoader.loadPluginsFromDir(PluginJarLoader.java:182)
	at org.sonar.server.plugins.PluginJarLoader.getDownloadedPluginsMetadata(PluginJarLoader.java:156)
	at org.sonar.server.plugins.PluginJarLoader.loadPlugins(PluginJarLoader.java:101)
	at org.sonar.server.plugins.ServerPluginManager.start(ServerPluginManager.java:64)
	at org.sonar.core.platform.StartableBeanPostProcessor.postProcessBeforeInitialization(StartableBeanPostProcessor.java:33)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:440)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1796)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620)
	... 44 common frames omitted
Caused by: java.util.zip.ZipException: zip END header not found
	at java.base/java.util.zip.ZipFile$Source.zerror(ZipFile.java:1607)
	at java.base/java.util.zip.ZipFile$Source.findEND(ZipFile.java:1497)
	at java.base/java.util.zip.ZipFile$Source.initCEN(ZipFile.java:1504)
	at java.base/java.util.zip.ZipFile$Source.<init>(ZipFile.java:1308)
	at java.base/java.util.zip.ZipFile$Source.get(ZipFile.java:1271)
	at java.base/java.util.zip.ZipFile$CleanableResource.<init>(ZipFile.java:733)
	at java.base/java.util.zip.ZipFile$CleanableResource.get(ZipFile.java:850)
	at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:248)
	at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:177)
	at java.base/java.util.jar.JarFile.<init>(JarFile.java:350)
	at java.base/java.util.jar.JarFile.<init>(JarFile.java:321)
	at java.base/java.util.jar.JarFile.<init>(JarFile.java:287)
	at org.sonar.updatecenter.common.PluginManifest.<init>(PluginManifest.java:120)
	... 60 common frames omitted
2022.09.26 11:40:21 INFO  web[][o.s.s.a.EmbeddedTomcat] HTTP connector enabled on port 9000
2022.09.26 11:40:21 INFO  web[][o.s.p.ProcessEntryPoint] Hard stopping process
2022.09.26 11:40:21 INFO  app[][o.s.a.SchedulerImpl] Process[Web Server] is stopped
2022.09.26 11:40:21 WARN  app[][o.s.a.p.AbstractManagedProcess] Process exited with exit value [ElasticSearch]: 143
2022.09.26 11:40:21 INFO  app[][o.s.a.SchedulerImpl] Process[ElasticSearch] is stopped
2022.09.26 11:40:21 INFO  app[][o.s.a.SchedulerImpl] SonarQube is stopped

这是主要的两个错误提示