下载sonar
# 存放目录
# mkdir -p /opt/soft/
# cd /opt/soft
# 下载sonar
# wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.6.zip
# unzip sonarqube-7.6.zip
# 将文件移动到/usr/local目录
# mv sonarqube-7.6 /usr/local/sonarqube
创建运行sonar的CentOS账户sonar,并设置账户密码:
# useradd sonar
# passwd sonar
# 赋权限
# chown -R sonar:sonar /usr/local/sonarqube
# chmod 760 /usr/local/sonarqube
# 修改命令执行权限
# vi /etc/sudoers
# 添加如下内容
# sonar ALL(ALL) ALL
配置数据库
Apache Derby 是Sonar自带并且默认安装使用的数据库,此外Sonar对如下数据库提供支持:MySQL 5.x, Oracle 10g XE, Postgresql, MS SqlServer等,本文以mysql为例介绍如何配置数据库:
1)创建数据库
在mysql中执行如下脚本创建数据库及mysql用户
CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'sonar' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
FLUSH PRIVILEGES;
修改配置文件:
# vi /usr/local/sonarqube/conf/sonar.properties
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true
# ip
sonar.web.host=0.0.0.0
# 端口
sonar.web.port=9000
启动
# /usr/local/sonarqube/bin/linux-x86-64/sonar.sh start
# 查看日志
# tailf /usr/local/sonarqube/logs/sonar.log
# tailf /usr/local/sonarqube/logs/es.log
异常处理:
1、max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
修改/etc/security/limits.conf文件,增加配置,用户退出后重新登录生效
* soft nofile 65536
* hard nofile 65536
2、max number of threads [3818] for user [es] is too low, increase to at least [4096]
问题同上,最大线程个数太低。修改配置文件/etc/security/limits.conf,增加配置
* soft nproc 4096
* hard nproc 4096
3、max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
修改/etc/sysctl.conf文件,增加配置vm.max_map_count=262144
# vi /etc/sysctl.conf
# sysctl -p