SonarQube和sonar-runner详细安装及配置

本文选自程序员s博客(https://blog.csdn.net/u012448904/article/details/81706283),根据其步骤结合自己情况做了一些改动。感谢网络,让我们总能站在巨人的肩膀上!


1、环境

系统环境:centos7.0 -x86_64(精简安装) 
前置条件:jdk1.8 , mysql-5.7
软件下载目录:/usr/local/
软件安装目录:/usr/local/
软件版本:sonarqube-6.7.7,sonar-runner-dist-2.4 
sonarqube下载地址:http://www.sonarqube.org/downloads/
sonar-runner下载地址:https://link.jianshu.com/?t=http://repo1.maven.org/maven2/org/codehaus/sonar/runner/sonar-runner-dist/2.4/sonar-runner-dist-2.4.zip

2.安装环境

1、需要Mysql数据库支持;虽然SonarQube自带了H2数据库,但是为了方便管理数据推荐使用Mysql数据库。
   安装Mysql数据库,jdk1.8 ,安装完成后进入数据库配置。

1 mysql -u root -p (进入数据库)
2 mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
3 mysql> CREATE USER ‘sonar‘ IDENTIFIED BY ‘sonar‘;
4 mysql> GRANT ALL ON sonar. TO ‘sonar‘@‘%‘ IDENTIFIED BY ‘sonar‘;
5 mysql> GRANT ALL ON sonar. TO ‘sonar‘@‘localhost‘ IDENTIFIED BY ‘sonar‘;
6 mysql> FLUSH PRIVILEGES;

2、安装SonarQube

第一步:将下载的sonarqube-6.7.5.zip解压后移动到/usr/local目录下

unzip  sonarqube-6.7.5.zip  解压包(如果解压不了,可能你没有unzip。通过yum下就可以了)

第二步:配置环境变量

1 [[email protected] local]# vim /etc/profile
2
3 export SONAR_HOME=/usr/local/sonarqube-6.7.7
4 export SONAR_SCANNER_HOME=/usr/local/sonar-runner
5 PATH=$PATH:$SONAR_HOME/bin:$SONAR_RUNNER_HOME/bin
6
7 [[email protected] local]# source /etc/profile

第三步:配置sonar.properties

1 [[email protected] local]# vim sonarqube-6.7.5/conf/sonar.properties 
 1 #数据库的账号密码,刚才创建的
 2 sonar.jdbc.username=sonar
 3 sonar.jdbc.password=sonar
 4 #连接数据库
 5 sonar.jdbc.url=jdbc:mysql://192.168.6.178:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
 6 #驱动程序类名,其实可以不写的
 7 sonar.jdbc.driverClassName=org.gjt.mm.mysql.Driver
 8 sonar.sorceEncoding=UTF-8
 9 sonar.login=admin
10 sonar.password=admin
11
12 #开启端口
13 sonar.web.port=9000

3、启动SonarQube (重点,这块最坑了)

SonarQube 启动不能用root启动,所以新建一个用户。必须先启动elasticsearch,才能在启动sonar。sonar文件目录里面有 elasticsearch这个目录。

1 //创建esuser用户
2 //目录组和用户都是esuser
3 //sonarqube文件设置777
4 //编写配置文件
5 [[email protected] ]# useradd esuser
6 [[email protected] local]# chown -R esuser.esuser sonarqube-6.7.5
7 [[email protected] local]#chmod 777 -R sonarqube-6.7.5
8 [[email protected] local]# vim sonarqube-6.7.5/elasticsearch/config/elasticsearch.yml 
1 //开启端口和指定服务
2 network.host: 192.168.6.178
3 http.port: 9200
1 // 切换用户
2 [[email protected] sonarqube-6.7]# su - esuser
3 [[email protected] elasticsearch]# ./bin/elasticsearch

启动的时候会报错,下面是报错的资料。

几乎每一次装都会遇到的坑,这些坑只有5.x.x版本有,2.x.x版本的几乎没有遇到过:
1、机器内剩余内存较少,会启动失败,并且有类似如下报错:
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x000000008a660000, 1973026816, 0) failed; error=‘Cannot allocate memory‘ (errno=12)
这是因为es的jvm参数-Xmx和-Xms默认都为2G
修改config下的jvm.option文件
# vim elasticsearch/elasticsearch-5.5.1/config/jvm.opstions
将
-Xms2g
-Xmx2g 
改为
-Xms1g
-Xmx1g
或更小
-Xms512M
-Xmx512M
再次启动即可

2、启动的时候出现:

1、
ERROR: bootstrap checks failed
system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk...
问题原因:因为Centos6不支持SecComp,而ES5.x.x默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。详见 :https://github.com/elastic/elasticsearch/issues/22899

解决方法:在elasticsearch.yml中配置bootstrap.system_call_filter为false,注意要在Memory下面: 
bootstrap.memory_lock: false 
bootstrap.system_call_filter: false 

2、
ERROR: bootstrap checks failed
max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536] 
max number of threads [1024] for user [lishang] likely too low, increase to at least [2048]

解决方法:切换到root用户,编辑limits.conf 添加类似如下内容

#vim /etc/security/limits.conf

添加如下内容:
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

3、
max number of threads [1024] for user [lish] likely too low, increase to at least [2048]

解决方法:切换到root用户,进入limits.d目录下修改配置文件。
#vim /etc/security/limits.d/90-nproc.conf

修改如下内容:

* soft nproc 1024
修改为
* soft nproc 2048

4、
max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

解决方法:切换到root用户修改配置sysctl.conf

#vim /etc/sysctl.conf

添加下面配置:
vm.max_map_count=655360
并执行命令:
#sysctl -p
然后,再启动elasticsearch,即可启动成功。
---------------------
作者:程序员s
来源:CSDN
原文:https://blog.csdn.net/u012448904/article/details/81624037/
版权声明:本文为博主原创文章,转载请附上博文链接!

不报错后,再次执行elasticsearch,直到不出现error信息。最后再执行elasticsearch后台运行

1 [[email protected] elasticsearch]# ./bin/elasticsearch -d     -d代表后台运行

验证elasticsearch运行成功

1、netstat   -nultp  查看端口,能看到9200和9300证明就成功了。

2、访问:http://192.168.6.178:9200         能给你一个json的文件。

启动sonar(用esuser启动)

1 [[email protected] sonarqube-6.7.7]# ./bin/linux-x86-64/sonar.sh start

访问:http://192.168.6.178:9000/

4、Sonar汉化

1. 在https://github.com/SonarCommunity/sonar-l10n-zh,下载汉化包源码;
2. 本地打包,cmd里面,在解压包里面运行: mvn install
3. 将打好的jar包,放到:/sonarqube/extensions/plugins目录;
4. 重启sonar,即可

5、安装&配置插件sonar-runner

1 //解压文件
2 //进入文件
3 //编辑文件
4 [[email protected] local]#unzip  sonar-runner-dist-2.4.zip
5 [[email protected] local]#mv sonar-runner-dist-2.4.zip  sonar-runner6 [[email protected] local]# cd sonar-runner7 [[email protected] sonar-scanner]# vim conf/sonar-runner.properties 
 1 #Configure here general information about the environment, such as SonarQube DB details for example
 2 #No information about specific project should appear here
 3
 4
 5
 6 #----- Default source code encoding
 7 sonar.sourceEncoding=UTF-8
 8
 9 sonar.host.url=http://192.168.6.178:9000
10 sonar.jdbc.username=sonar
11 sonar.jdbc.password=sonar
12 sonar.jdbc.url=jdbc:mysql://192.168.6.178:3306/sonar?useUnicode=true&characterEncoding=utf8
13 sonar.login=admin
14 sonar.password=admin

6、创建待扫描项目

我的项目放在/root/java/sell 目录下来了,项目放在哪都行的。

创建一个sonar-project.properties

 1 [[email protected] sell]# vim sonar-project.properties
 2
 3 #项目的key
 4 sonar.projectKey=itil:change
 5 #项目的名字(可以随便写,这个名字在sonar显示的)
 6 sonar.projectName=sell
 7 #项目的版本
 8 sonar.projectVersion=1.0
 9 #需要分析的源码的目录
10 sonar.sources=src/
11 #这是target(如果没编译可以不写)
12 sonar.java.binaries=target/classes
13 #java语言
14 sonar.language=java
15 #编码格式
16 #sonar.sourceEncoding=UTF-8
1  //开始扫描,
2 [[email protected] sell]# /usr/local/sonar-runner/bin/sonar-runner 

执行结果显示执行成功,如下。

原文地址:https://www.cnblogs.com/winter2018/p/10943854.html

时间: 2024-10-17 02:12:23

SonarQube和sonar-runner详细安装及配置的相关文章

SonarQube代码质量管理平台的安装与配置

一.SonarQube的介绍 SonarQube是一个管理代码质量的开放平台. 可以从七个维度检测代码质量(为什么要用SonarQube): (1)  复杂度分布(complexity): :代码复杂度过高将难以理解.难以维护 (2)  重复代码(duplications): :程序中包含大量复制粘贴的代码是质量低下的表现 (3)  单元测试(unit tests): :统计并展示单元测试覆盖率 (4)  编码规范(coding rules) :通过Findbugs,PMD,CheckStyle

Citrix 6.5 详细安装及配置介绍

Citrix 6.5 详细安装及配置介绍 说到虚拟机化,相信大家都对虚拟化的概念及环境的搭建都有一定的了解,我们都知道目前最主流的虚拟化产品有很多,比如microsoft Hyper-v.vmware workstation.vmare vsphere.citrix等产品,我之前的环境搭建都基于hyper-v和vmware vsphere的,近期呢,闲着没事想体验一下citrix产品,目前citrix虚拟化xencenter 6.5,所以我们今天就介绍一下xencenter6.5的全新安装及配置

图解MySQL5.5详细安装与配置过程

出自:http://www.dbhom.com/show.aspx?id=77&cid=9 MySQL是一个开源的关系型数据库管理系统,原由瑞典MySQL AB公司开发,目前属于Oracle公司旗下.MySQL是目前世界上开源数据库中最受欢迎的产品之一,是应用最为广泛的开源数据库.MySQL就是LAMP中的M. 本文详细讨论的是MySQL最新版MySQL5.5详细安装与配置过程.MySQL5.5安装程序可以MySQL官网下载,下载地 址:http://dev.mysql.com/download

Sharepoint Foundation 2013 SP1详细安装及配置介绍

Sharepoint Foundation 2013 SP1 详细安装及配置介绍 说到sharepoint产品相信大家都已经非常熟悉了,所以呢就不多介绍了:首先呢,先说说我的环境需求,公司最早内部网站是使用wss完成搭建的,wss其实就是sharepoint2003版本,最大的差别就是wss是免费产品, 我们都知道微软的软件服务是非常贵的,这样就导致很多企业被迫使用其他供应商提供的类似软件服务:我们言归正传,公司内部的wss站点使用了10多年多,后来互联网越来越先进,公司的内部站点就从wss级别

Linux上redis详细安装及配置过程

本次介绍下redis的安装及详细配置,需要注意的是本地介绍的不是通过yum方式安装,也不推荐大家使用yum安装,安装完了其实啥也不知道. 1,通过rz命令将本地的tar.gz包上传到linux服务器上;我这里用的是redis-3.0.2.tar.gz,上传到/home/download下: 2.tar -zxvf 命令解压文件: 3,进入到redis-3.0.2文件夹下执行make编译命令, 看到下面这样的结果说明一切正常, 5,执行 make install命令进行安装,我个人习惯将软件都安装

Mariadb Cluster+Haproxy+keepalived 集群的详细安装与配置

要点概括 1.关闭iptables 或者设置常用端口为accept(关闭省事) 2.修改/etc/hosts ,设置RSA互信,避免在传文件需要密码 3.使用mariadb或者其他版本的DB带有WSREP功能 4.修改配置文件,在原来初始化的基础上加上WSREP的参数 5.启动第一个节点 6.在第一节点设置其他2节点的连接用户名和密码和配置文件设置一致 7.初始化启动其他节点 8.集群负载均衡和单点故障使用haproxy+keepalived 9.Haproxy+cluster状态检测 10.h

Exchange2013 SP1的详细安装及配置

说到Excchange相信很多童鞋都很熟悉了,对于Exchange从2003到目前最新的Exchange2013的功能及架构的变化大家都已熟悉了,变化最多的也就是普通操作上,从C/S架构变化到了B/S架构了,当然内部的功能变化也相当大,对功能在此就不多介绍了.由于近期工作不是非常繁忙,就做了一些关于Exchange2013相关的部署及应用,我准备了一些关于Exchange2013功能应用集合,后期也会陆续上传分享给大家,希望对大家有用,今天介绍的是第一篇,具体见下: 环境介绍: Hostname

Samba4集成LDAP详细安装及配置

近期公司的项目组给我们提需求,让我们搭建几套打印机测试环境,测试打印机的bug,环境分别为:1.windows2012 LDAP的匿名.SSL(636).kerbors.2.Samba4集成的LDAP服务的匿名.SSL(636).kerbors.3domino9.0.1FP3的LDAP服务的匿名.SSL(636).kerbors服务.花了一些时间搭建完成了,所以分享给有需求的参考.其实对于以上提到的服务相信大家都已经很熟悉了.大概思路讲解:windows LDAP顾名思义就是Microsoft的

Elasticsearch 7.x 最详细安装及配置

一.Elasticsearch 7.x 小马哥说过,学习技术栈得看版本,那么 Elasticsearch 7.x 有什么好的特性呢? ES 7.0 是 2019 年 4 月份发布的,底层是 Lucene 8.0.其他还有需要了解的是: 废除单个索引下多 Type 的支持 ES Security 免费使用 ECK - ES Operator on K8s 新功能:New Cluster coordination 新功能:完整的 High Level REST Client 新功能:Script S