SonarQube安装
创建sonar用户
SonarQube不能使用root用户启动,需创建普通用户
useradd sonar
passwd sonar
下载安装SonarQube
#unzip sonarqube.zip //解压
#useradd sonar //新建普通用户,es必须以普通身份启动
#chmod -R 777 /opt/sinog2c/install/sonar 授予权限
安装MySQL数据库
安装配置对应版本的Mysql数据库或者其他数据库,在sonarQube7.9以上不再支持MySQL
编辑sonarqube配置文件
sonar.jdbc.url=jdbc:mysql://127.0.0.1:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.jdbc.username=root
sonar.jdbc.password=root
sonar.sorceEncoding=UTF-8
运行脚本启动服务
启动的用户必须是非root用户,否则会报错
# su sonar ./bin/linux-x86-64/sonar.sh start //启动脚本
# su sonar ./bin/linux-x86-64/sonar.sh status //查看启动状态
注意:这里立即查看状态,短时间内意义不大,因为一开始显示running,并不代表会一定在后面的时间内running!
排错例子
1.elasticsearch用户拥有的可创建文件描述的权限太低,至少需要65536;
2021.06.17 04:20:01 INFO es[][o.e.n.Node] starting ...
2021.06.17 04:20:02 INFO es[][o.e.t.TransportService] publish_address {127.0.0.1:9001}, bound_addresses {127.0.0.1:9001}
2021.06.17 04:20:02 WARN es[][o.e.b.BootstrapChecks] max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]
2021.06.17 04:20:05 INFO es[][o.e.c.s.ClusterService] new_master {sonarqube}{pY1NWXXvShmmgjV5fc2kSQ}{Svw1E_MpSd2MSeSZoVVqjg}{127.0.0.1}{127.0.0.1:9001}{rack_id=sonarqube}, reason: zen-disco-elected-as-master ([0] nodes joined)
2021.06.17 04:20:05 INFO es[][o.e.n.Node] started
2021.06.17 04:20:05 INFO es[][o.e.g.GatewayService] recovered [0] indices into cluster_state
2021.06.17 04:20:11 INFO es[][o.e.n.Node] stopping ...
2021.06.17 04:20:12 INFO es[][o.e.n.Node] stopped
2021.06.17 04:20:12 INFO es[][o.e.n.Node] closing ...
2021.06.17 04:20:12 INFO es[][o.e.n.Node] closed
改进方法:
#切换到root用户修改
vim /etc/security/limits.conf
# 在最后面追加下面内容
*** hard nofile 65536
*** soft nofile 65536
常用命令
//查询日志
tail -f logs/es.log
//sonar日志
tail -f logs/sonar.log
//查看状态
su sonar ./bin/linux-x86-64/sonar.sh status
//启动命令
su sonar ./bin/linux-x86-64/sonar.sh start
设置系统参数
sysctl -w fs.file-max=65536
sysctl -w vm.max_map_count=262144
ulimit -n 65536
ulimit -u 2048
访问及汉化
默认账号密码(admin/admin)
Sonar默认监听的端口为9000,可以在sonar.properties中通过sonar.web.port=端口号 进行修改
访问http://127.0.0.1:9000/可以看到以下界面
汉化
点击界面上的Adminstration
,然后选择Marketplace
,在Plugins
一栏,搜索Chinese Pack
,然后点击insatll
进行安装,如下所示:
(如果版本不一致无法直接安装,可以去github下载适合版本的插件)
github各个版本下载地址:[https://github.com/SonarQubeCommunity/sonar-l10n-zh/tags](https://links.jianshu.com/go?to=https%3A%2F%2Fgithub.com%2FSonarQubeCommunity%2Fsonar-l10n-zh%2Ftags)
下载之后放到sonar安装目录/extensions/plugins 并重启
总结
安装的过程中可能会出现很多其他的错误,当出现错误时,请检查步骤是否出错。主要有以下注意点。
- 一定要注意各软件的版本,比如
jdk
版本; - 服务启动之前必须创建对应的数据库,不需要创建表,
sonar
会自动初始化表; - root用户下是无法启动
sonar
服务,因此需要创建相关非root用,并对安装目录拥有足够权限; -
sonar.properties
中数据库的配置,一定要仔细,一般启动失败,很大可能是因为数据库配置有问题; - 初次启动时,由于需要初始化数据库表,因此会比较缓慢。
;
- root用户下是无法启动
sonar
服务,因此需要创建相关非root用,并对安装目录拥有足够权限; -
sonar.properties
中数据库的配置,一定要仔细,一般启动失败,很大可能是因为数据库配置有问题; - 初次启动时,由于需要初始化数据库表,因此会比较缓慢。