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/可以看到以下界面

SonarQube 配置ES_SonarQube 配置ES

汉化
点击界面上的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 并重启

SonarQube 配置ES_java_02

总结

安装的过程中可能会出现很多其他的错误,当出现错误时,请检查步骤是否出错。主要有以下注意点。

  • 一定要注意各软件的版本,比如jdk版本;
  • 服务启动之前必须创建对应的数据库,不需要创建表,sonar会自动初始化表;
  • root用户下是无法启动sonar服务,因此需要创建相关非root用,并对安装目录拥有足够权限;
  • sonar.properties中数据库的配置,一定要仔细,一般启动失败,很大可能是因为数据库配置有问题;
  • 初次启动时,由于需要初始化数据库表,因此会比较缓慢。

  • root用户下是无法启动sonar服务,因此需要创建相关非root用,并对安装目录拥有足够权限;
  • sonar.properties中数据库的配置,一定要仔细,一般启动失败,很大可能是因为数据库配置有问题;
  • 初次启动时,由于需要初始化数据库表,因此会比较缓慢。