CentOS 下 SonarQube 6.7 的下载、配置、问题排查

系统: CentOS 7 x86_64

SonarQube 版本: 6.7.3

Java 版本: 1.8.0_171

MySQL 版本: 5.6.40

注意,对于 SonarQube 6.7 这个高版本,MySQL 版本必须在 5.6 及以上,Java 版本必须在 1.8 及以上,否则会出现问题。我尝试了最新的 MySQL 8.0,并未运行成功,因此建议使用 MySQL 5.6 或 5.7。

关于 Java 与 MySQL,请参考以下两篇文章:

Java 的下载、安装、配置

MySQL 5.6 基于 RPM 的下载、安装、配置

本文将 SonarQube 目录放在 /usr/local/sonarqube 文件夹下,读者请根据自身需要修改对应路径。


下载

下载地址


安装

# 解压下载后的压缩包
unzip sonarqube-6.7.3.zip # 将解压后的文件夹移动到 /usr/local 文件夹下
mv ./sonarqube-6.7.3 /usr/local # 建议在 sonarqube 文件夹下放置一个 java 环境,原因会在问题排查部分说明
mv ./jdk1.8.0_171 /usr/local/sonarqube-6.7.3

配置

  1. Java
# 打开 wrapper.conf 文件
vim /usr/local/sonarqube-6.7.3/conf/wrapper.conf # 修改 jdk 启动目录
wrapper.java.command=/usr/local/sonarqube-6.7.3/jdk1.8.0_121/bin/java
  1. MySQL

登入 MySQL 数据库,新建名为 sonar 的数据库及用户,并授权。

# 新建数据库 sonar
CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
# 新建用户 sonar 并设置密码 sonar
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;
  1. SonarQube
# 打开 sonar.properties 文件
vim /usr/local/sonarqube-6.7.3/conf/sonar.properties # 修改 MySQL 相关配置
sonar.jdbc.username=sonar #数据库用户
sonar.jdbc.password=sonar #数据库密码
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false

问题排查

由于高版本的 SonarQube 加入了 elasticsearch,遇到不能以 root 用户启动的错误,报错信息如下:

java.lang.RuntimeException: can not run elasticsearch as root
at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:106) ~[elasticsearch-5.6.3.jar:5.6.3]
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:195) ~[elasticsearch-5.6.3.jar:5.6.3]
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:342) [elasticsearch-5.6.3.jar:5.6.3]
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:132) [elasticsearch-5.6.3.jar:5.6.3]
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:123) [elasticsearch-5.6.3.jar:5.6.3]
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:70) [elasticsearch-5.6.3.jar:5.6.3]
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:134) [elasticsearch-5.6.3.jar:5.6.3]
at org.elasticsearch.cli.Command.main(Command.java:90) [elasticsearch-5.6.3.jar:5.6.3]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91) [elasticsearch-5.6.3.jar:5.6.3]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) [elasticsearch-5.6.3.jar:5.6.3]

解决方法:

  1. 增加一个名为 elsearch 的新用户。
groupadd elsearch               # 增加 elsearch 用户组
useradd elsearch -g elsearch # 增加 elsearch 用户
su - elsearch # 切换至 elsearch
  1. 修改权限,由于我们要使用 elsearch 用户启动 SonarQube,所以需要把用到的所有资源给到 elsearch 用户,否则会有权限问题。
chown -R elsearch sonarqube-6.7.3 # 把sonar资源分配给用户elsearch
chgrp -R elsearch sonarqube-6.7.3 # 把sonar资源分配给组elsearch

启动

# 切换至 elsearch 用户
su - elsearch
# 启动 SonarQube 服务
./usr/local/sonarqube-6.7.3/bin/linux-x86-64/sonar.sh start

参考文档

Java 的下载、安装、配置

MySQL 5.6 基于 RPM 的下载、安装、配置

高版本问题

如有错误,还请在评论中告知,帮助我修改,感谢!

原文链接:https://www.cnblogs.com/zhenxiaoyuan/p/9111547.html - 转载请注明出处

CentOS 下 SonarQube 6.7 的下载、配置、问题排查的更多相关文章

  1. CentOS下通过yum安装svn及配置

    CentOS下通过yum安装svn及配置 1.环境centos5.5 2.安装svnyum -y install subversion 3.配置 建立版本库目录mkdir /www/svndata s ...

  2. CentOS下Samba文件服务器的安装与配置

    CentOS下Samba文件服务器的安装与配置 http://blog.csdn.net/limingzhong198/article/details/22064801 一.安装配置 1. 安装sam ...

  3. centos下apache+mysql+php安装及配置

    今天难得休闲,自从加盟当前公司以来好像就基本没有写过博客了.难得闲下来和前同事聊天,他们几个人合伙买了VPS在用.这对我们搞WEB开发的童鞋来说是非常重要的,我来这家公司有许久了,但是竟然到现在连一台 ...

  4. Centos下MongoDB数据库的安装以及配置开机自启动(三)

    最近写了一个用node来操作MongoDB完成增.删.改.查.排序.分页功能的示例,并且已经放在了服务器上地址:http://39.105.32.180:3333. 在服务器上完全可以用yum来安装管 ...

  5. centOs下的php+mysql+apache+ftp配置

    在安装服务器时做了相应的笔记,这个方法是亲身经验成功的,随着版本的不断更新,也许会有一些地方不同,但是基本原理都是一样的. 1.安装CentOS 6 ,可以选择最小安装,也可以安装桌面 2.升级系统 ...

  6. centos下JDK安装及环境变量配置

    由于centos安装自带openjdk,需要将其卸载后安装自己的jdk 卸载centos自带jdk 1.查找java :rpm -qa | grep java 2.卸载时提示权限不够,进入root目录 ...

  7. Linux Centos下SQL Server 2017安装和配置

    说到SQL Server服务,我们大家都知道是Microsoft公司的数据库服务,当然说到数据库,现在主要分为三大商:1:Oracle.2:Msql Server.3:Mysql:三种数据库在当下环境 ...

  8. centos下linux运行asp网站搭建配置-mono+nginx

    一.首先安装一些需要的软件包 1.  首先更新CentOS上的软件包:yum –y update. 2.  安装一些需要的库: yum -y install gcc gcc-c++ bison pkg ...

  9. CentOS下Redis 2.2.14安装配置详解(转载)

    一. 下载redis最新版本2.2.14 cd /usr/local/src wget –c http://redis.googlecode.com/files/redis-2.2.14.tar.gz ...

随机推荐

  1. SVN那些事

    非原创,引用于青松世界博客,最近在使用svn,因为方便复制内容在这查看.原地址 https://www.cnblogs.com/Rambo635755402/p/5549447.html Totois ...

  2. 【[HNOI2016]序列】

    莫队好题啊 莫队来做这个题的难点就是考虑如何在\(O(1)\)时间内由\([l,r]\)转移到\([l,r+1]\) 显然加入\(r+1\)这个数之后会和之前所有的位置都产生一个区间,就是要去快速求出 ...

  3. Kafka设计解析(八)Exactly Once语义与事务机制原理

    转载自 技术世界,原文链接 Kafka设计解析(八)- Exactly Once语义与事务机制原理 本文介绍了Kafka实现事务性的几个阶段——正好一次语义与原子操作.之后详细分析了Kafka事务机制 ...

  4. Spring源码分析(十六)准备创建bean

    本文结合<Spring源码深度解析>来分析Spring 5.0.6版本的源代码.若有描述错误之处,欢迎指正. 我们不可能指望在一个函数中完成一个复杂的逻辑,而且我们跟踪了这么多Spring ...

  5. Mac环境下安装配置Hadoop伪分布式

    伪分布式需要修改5个配置文件(hadoop2.x的配置文件$HADOOP_HOME/etc/hadoop) 第一个:hadoop-env.sh #vim hadoop-env.sh #第25行,由于新 ...

  6. Windows 的 Oracle Data Access Components (ODAC)

     下载 x64bit https://www.oracle.com/technetwork/cn/database/windows/downloads/index.html 适用于 Windows 的 ...

  7. 记Macbook Pro配合FT232使用PN532模块

    0x00实话. 被自己傻到 在linux下使用 libusb + libnfc 这两个库就可以配合串口直接使用pn532模块 当时配置文件是写在 /etc/nfc 目录下的 而我在OS X 下居然也想 ...

  8. redis缓存数据库入门教程

    入门redis教程 前言: 应公司需求,最近学习了一下redis数据库的一些简单入门的教程,整理出来分享给大家,喜欢的可以关注和点赞哦~ 如文章中有不足之处求指正,谢谢 目录 ·什么是redis?为什 ...

  9. filebeat 插件开发

      filebeat是一个轻量的日志收集工具,全套使用go语言开发.   我目前遇到的问题是,在收集的时候需要对数据进行采样,采样比和采样形式要灵活,因为可能在多个项目会使用到这个日志收集功能.刚开始 ...

  10. Mybatis主线流程源码解析

     Mybatis的基础使用以及与Spring的相关集成在官方文档都写的非常详细,但无论我们采用xml还是注解方式在使用的过程中经常会出现各种奇怪的问题,需要花费大量的时间解决. 抽空了解一下Mybat ...