目录
概述
一、环境准备
1.1、硬件配置
1.2、JAVA
1.3、数据库
1.4、操作系统
1.4.1、非root用户启动
1.4.2、vm.max_map_count 更改
1.4.3、fs.file-max 修改
1.4.4、文件句柄修改
1.4.5、最大线程数修改
二、安装配置
2.1、数据库配置
2.2、sonar安装配置
2.2.1、下载安装包
2.2.2、配置 sonar.properties
2.3、sonarqube runner 安装配置
2.3.1、下载安装包
2.3.2、配置 sonar-runner.properties
2.4、环境配置
2.5、用户配置
2.6、启动
三、前端访问
概述
因为研发又想搞点事,非要弄个SonarQube 6.7 版本,说是为了和分公司环境同步。好吧,这是多少年代的了...
官网参考:https://docs.sonarqube.org/6.7/Requirements.html
主要说了这么个事
1、java 只能用 8 版本
2、数据库(PostgreSQL 只能用8.x ,9.x);(Oracle 只能用11G 12C XE);(MySQL 只能用5.6,5.7)
3、操作系统要求
一、环境准备
1.1、硬件配置
操作系统版本:使用了CentOS 7.6
本机IP:192.168.1.21
配置还看得过去,4C16G 100GB磁盘。很明显,在这台服务器上,我应该把服务放在data路径下
建议使用的最低配置:4C4G 100GB
1.2、JAVA
1.3、数据库
psql (PostgreSQL) 9.6.12
公司主要集成了MySQL5.5和PostgreSQL9.6,工具官网要求,使用PostgreSQL比较方便,就不用自己搭建了
1.4、操作系统
1.4.1、非root用户启动
新建一个可登陆用户sonar(可以是任意普通可登录用户)
这个必须是可登录的,所以最好在安装前创建,不然在之后安装完毕自动生成的sonar用户是没有登录权限的。
useradd sonar
如果已经生成了不可登录用户sonar,不要慌,userdel sonar 后再执行上面命令即可。
1.4.2、vm.max_map_count 更改
vm.max_map_count 不能小于262144
max_map_count文件包含限制一个进程可以拥有的VMA(虚拟内存区域)的数量,复制下面代码执行就行了
echo vm.max_map_count=262144 >> /etc/sysctl.conf
sysctl -w vm.max_map_count=262144
sysctl -p
1.4.3、fs.file-max 修改
系统所有进程一共可以打开的文件数量不能小于65536 ....
修改个锤子哟!CentOS 7 默认的 fs.file-max 比这大多了!
1.4.4、文件句柄修改
用户运行SonarQube可以打开最少65536个文件描述符
文件句柄,熟客了,和上面一样,执行就完事了!
echo 'sonar hard nofile 65536' >> /etc/security/limits.conf
echo 'sonar soft nofile 65536' >> /etc/security/limits.conf
1.4.5、最大线程数修改
我很想改,很多地方确实都需要改的。但是系统CentOS 7 系统默认也是分了4096给创建的普通用户,唉,你们想改就改吧...
不贴代码是我最后的倔强 ( *?ω?)?╰ひ╯
二、安装配置
2.1、数据库配置
数据库IP:192.168.1.16
###### postgresql 配置
CREATE USER sonar WITH PASSWORD 'aorise@sonar';
CREATE DATABASE sonar OWNER sonar;
GRANT ALL PRIVILEGES ON DATABASE sonar TO sonar;
flush privileges;
###### mysql 配置
CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'aorise@sonar';
GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'aorise@sonar';
flush privileges;
2.2、sonar安装配置
2.2.1、下载安装包
wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-6.7.7.zip
unzip sonarqube-6.7.7.zip
mv sonarqube-6.7.7 /data/sonar
cd /data/sonar-runner/# 里面居然还有一层!mv sonarqube-6.7.7 sonar
cd sonar
2.2.2、配置 sonar.properties
vim conf/sonar.properties
# 数据库对应配置:
# mysql:sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
# postgresql:sonar.jdbc.url=jdbc:postgresql://192.168.1.16:5432/sonar
# oracle:sonar.jdbc.url=jdbc:oracle:thin:@localhost:1521/XE
#########-----以下是需要更改的
sonar.jdbc.username=sonar
sonar.jdbc.password=aorise@sonar
sonar.login=admin
sonar.password=adminsonar.jdbc.url=jdbc:postgresql://192.168.1.16:5432/sonarsonar.web.host=0.0.0.0
sonar.web.port=10002
sonar.search.port=10001
2.3、sonarqube runner 安装配置
2.3.1、下载安装包
wget https://repo1.maven.org/maven2/org/codehaus/sonar/runner/sonar-runner-dist/2.4/sonar-runner-dist-2.4.zip
unzip sonar-runner-dist-2.4.zip
mv sonar-runner-2.4 /data/sonar-runner
cd /data/sonar-runner/
# 数据库对应配置:
# mysql:sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8
# postgresql:sonar.jdbc.url=jdbc:postgresql://192.168.1.16:5432/sonar
# oracle:sonar.jdbc.url=jdbc:oracle:thin:@localhost/XE
2.3.2、配置 sonar-runner.properties
#########-----以下是需要更改的
sonar.host.url=http://localhost:10002
sonar.jdbc.url=jdbc:postgresql://192.168.1.16:5432/sonar
sonar.jdbc.username=sonar
sonar.jdbc.password=aorise@sonar
sonar.login=admin
sonar.password=admin
2.4、环境配置
环境配置还是需要的,毕竟多跑了一个服务
echo 'export JRE_HOME=${JAVA_HOME}/jre' >> /etc/profile
echo 'export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib' >> /etc/profile
echo "export TIME_STYLE='+%Y/%m/%d %H:%M:%S'" >> /etc/profile
echo 'export SONAR_HOME=/usr/local/sonar' >> /etc/profilesource /etc/profile
2.5、用户配置
userdel sonar
useradd sonar
chown -R sonar:sonar /data/sonar/sonar
chown -R sonar:sonar /data/sonar-runner
2.6、启动
su - sonar /data/sonar/sonar/bin/linux-x86-64/sonar.sh start
查看日志:
--> Wrapper Started as Daemon
Launching a JVM...
Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.orgCopyright 1999-2006 Tanuki Software, Inc. All Rights Reserved.
2021.01.05 11:22:36 INFO app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /data/sonar/sonar/temp
2021.01.05 11:22:36 INFO app[][o.s.a.es.EsSettings] Elasticsearch listening on /127.0.0.1:10001
2021.01.05 11:22:36 INFO app[][o.s.a.p.ProcessLauncherImpl] Launch process[[key='es', ipcIndex=1, logFilenamePrefix=es]] from [/data/sonar/sonar/elasticsearch]: /data/sonar/sonar/elasticsearch/bin/elasticsearch -Epath.conf=/data/sonar/sonar/temp/conf/es
2021.01.05 11:22:36 INFO app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
2021.01.05 11:22:37 INFO app[][o.e.p.PluginsService] no modules loaded
2021.01.05 11:22:37 INFO app[][o.e.p.PluginsService] loaded plugin [org.elasticsearch.transport.Netty4Plugin]
2021.01.05 11:22:47 INFO app[][o.s.a.SchedulerImpl] Process[es] is up
2021.01.05 11:22:47 INFO app[][o.s.a.p.ProcessLauncherImpl] Launch process[[key='web', ipcIndex=2, logFilenamePrefix=web]] from [/data/sonar/sonar]: /usr/java/jdk1.8.0_171/jre/bin/java -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djava.io.tmpdir=/data/sonar/sonar/temp -Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError -cp ./lib/common/*:./lib/server/*:/data/sonar/sonar/lib/jdbc/postgresql/postgresql-42.2.5.jar org.sonar.server.app.WebServer /data/sonar/sonar/temp/sq-process942422878370682278properties
2021.01.05 11:23:06 INFO app[][o.s.a.SchedulerImpl] Process[web] is up
2021.01.05 11:23:06 INFO app[][o.s.a.p.ProcessLauncherImpl] Launch process[[key='ce', ipcIndex=3, logFilenamePrefix=ce]] from [/data/sonar/sonar]: /usr/java/jdk1.8.0_171/jre/bin/java -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djava.io.tmpdir=/data/sonar/sonar/temp -Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError -cp ./lib/common/*:./lib/server/*:./lib/ce/*:/data/sonar/sonar/lib/jdbc/postgresql/postgresql-42.2.5.jar org.sonar.ce.app.CeServer /data/sonar/sonar/temp/sq-process8890375341285298178properties
2021.01.05 11:23:12 INFO app[][o.s.a.SchedulerImpl] Process[ce] is up
2021.01.05 11:23:12 INFO app[][o.s.a.SchedulerImpl] SonarQube is up
还是忍不住贴出来了,凑字数绝对不可耻
当然,最主要的有三个日志:
sonar.log、es.log、web.log
这三个日志都没报错的情况下才能正常启动!
三、前端访问
192.168.1.21:10002
账户密码:admin/admin
访问正常,SonarQube 6.7 稳定版安装 到这里就完成了!撒花
PS:如果下载插件后启动失败,那么重新赋权即可
chown -R sonar:sonar /data/sonar/sonar
chown -R sonar:sonar /data/sonar-runner