解决方法:修改了虚拟机的启动内存,具体解决过程如下
今天在虚拟机上安装SonarQube6.7的时候遇到了启动后自动关闭的问题。在网上查询后大多数的问题都是出在了启动的用户上。
SonarQube不支持用root用户启动,于是我为其配置好了sonar用户,并且用新用户对其进行启动。
但是还是出现了闪退的情况。于是我去检查的配置文件中的数据库信息配置。用数据库的配置去访问数据库并没有出现任何问题
查询数据库中sonar使用的数据库查看是否有数据,发现数据库的信息已经创建好了,由此可以证明数据库方面并没有出现问题。
然后我们通过命令再次启动sonar留意其的启动信息log,此时发现我们报错了个异常
su sonar ./bin/linux-x86-64/sonar.sh console
ERROR StatusLogger Log4j2 could not find a logging implementation. Please add log4j-core to the classpath. Using SimpleLogger to log to the console...
可以看到Log4j2包找不到了。于是我以为项目启动不了是因为log4j2包缺失,于是去网上搜索了关键字查找问题的解决方案
网上的解决方案如下:
大致意思是该人将下面的两个包copy到了sonarqube的工作路径下的lib包下,然后解决了确实包的问题。
于是我下载后存入了lib包下
此时发现启动的时候不会报错确实包的问题了,但还是会有闪退的问题,在输入启动代码后有那么一小段时间是可以访问到9000端口的。但是再次刷新就访问不到了。
这给了我一些希望,此时我想到我的虚拟机内存设置了2,但是在虚拟机中启动了k8s和jenkins和mysql等等许多的工具。出现闪退问题有可能是因为内存的问题。
于是我将虚拟机的内存提高到了4内存,重启虚拟机后再次去启动sonar发现可以访问了
重启虚拟机后再次去启动sonar发现可以访问了