sonar最新版9.0安装攻略

首先安装PostgreSQL 9.2

安装
添加RPM源
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
安装数据库核心服务端
sudo yum install -y postgresql96-server

安装第三方扩展(uuid)
yum install postgresql96-contrib.x86_64

检查是否安装成功
rpm -aq| grep postgres

配置相关信息
1、创建数据库存放路径位置
mkdir -p /data/pg/data #存放数据库的文件夹
chown -R postgres:postgres /data/pg #为新创建的pg文件夹分配数据库服务的操作权限
chown -R postgres:postgres /data/pg/data #为存放数据库的文件夹分配权限
chmod 750 /data/pg/data

2、配置/etc/profile文件
vim /etc/profile
在末尾添加如下的信息配置,保存退出:
PGDATA=/data/pg/data
PGHOST=127.0.0.1
PGDATABASE=postgres
PGUSER=postgres
PGPORT=5432
PATH=/usr/pgsql-9.6/bin:$PATH
export PATH
export PGDATA PGHOST PGDATABASE PGUSER PGPORT
export TMOUT=1000(这里注意超时时间可以设置为0否则ssh会到1k秒自动退出)
然后为了让刚才修改生效:source /etc/profile

查看是否已添加成功:export

3、初始数据库
su postgres #切换到postgres用户

initdb -D /data/pg/data #初始化数据库

exit #退出当前postgres用户

4、配置远程可访问
vim /data/pg/data/pg_hba.conf
找到# IPv4 local connections: 在它的下面添加一行,保存退出
host all all 0.0.0.0/0 md5

vim /data/pg/data/postgresql.conf
找到#listen_addresses = ‘localhost’
将前面的#删掉,改成listen_addresses = ‘*’
找到#port = 5432,将前面的#删掉

vim /usr/lib/systemd/system/postgresql-9.6.service
#配置节里面指定正确的PGDATA路径,保存退出
Environment=PGDATA=/data/pg/data/

重启postgresql-9.6服务,使配置文件重效
service postgresql-9.6 restart

设置开机启动处理
sudo systemctl enable postgresql-9.6

启动postgresql数据库
sudo systemctl start postgresql-9.6

修改密码:
su – postgres
然后输入:psql
接着输入:Alter user postgres with password ‘123456’;
退出数据库连接:q
再退出:exit

防火墙与端口设置
systemctl enable firewalld #开机启用防火墙
systemctl start firewalld #开启防火墙
firewall-cmd –add-service=postgresql –permanent #开放postgresql服务
firewall-cmd –zone=public –add-port=5432/tcp –permanent #可以直接添加端口
firewall-cmd –reload # 重载防火墙
firewall-cmd –list-ports #查看占用端口

执行SQL文件
切换用户:su – postgres
然后输入:psql
接着输入: create database dataway owner postgres

查看已有数据库(右斜杠加L的小写):l

如果没有表结构可以忽略这里直接创建数据库

#登录数据库
su - postgres
psql -U postgres
ALTER USER postgres with encrypted password 'xxxxxx';
q
exit#创建sonarqube用户
create user sonarqube with password 'xxxxx';
create database sonarqube owner sonarqube;
grant all  on database sonarqube to sonarqube;
create schema my_schema;

q

exit

恢复表结构【迁移sql文件(dataway-2020-12-3)放在根目录】
退出连接数据库:q
再退出:exit
执行:pg_restore -d dataway -U postgres -C /dataway-2020-12-24
查看恢复的表:
退出:q
切换数据库:psql -h 192.168.16.200 -p 5432 dataway postgres
输入密码:123456
查看数据库表:dt

sql装完开始下一步去sonar官网下载最新版程序。我下的是9.0

https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-9.0.0.45539.zip

2.添加系统用户

useradd sonarqube
passwd sonarqube 

  

3.优化系统参数

sysctl -w  vm.max_map_count=262144
sysctl -w fs.file-max=65536
ulimit -u 4096 sonarqube
ulimit -n 65536 sonarqube

  

4.解压安装包

mv sonarqube-9.0.0.45539.zip  /opt/sonarqube/
chown -R sonarqube:sonarqube /opt/sonarqube/
su - sonarqube
yum -y install unzip
unzip sonarqube-9.0.0.45539.zip

5.更改配置文件

vim sonarqube-9.0.0.45539/conf/sonar.properties[sonarqube@localhost ~]$ grep -v "^#" sonarqube-9.0.0.45539/conf/sonar.properties | grep -v "^$"
sonar.jdbc.username=sonarqube
sonar.jdbc.password=meiyoumima
sonar.jdbc.url=jdbc:postgresql://127.0.0.1/sonarqube?currentSchema=my_schema

程序准备好了,开始配置java环境,sonar9最新版必须使用java jdk11以上

jdk11下载地址:
https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html

下载: jdk-11.0.5_linux-x64_bin.tar.gz
需要登录后才能下载。
我当前是Window环境,下载后要把文件上传到CentOS中,我用的是SSH SecureFile Transfer 上传的数据。
随便传到一个位置就行,我选择的是 /root/Downloads

通过命令行登录到 CentOS ,解压 jdk-11.0.5_linux-x64_bin.tar.gz
查看文件:

[root@localhost Downloads]# ls
jdk-11.0.5_linux-x64_bin.tar.gz

解压文件:

[root@localhost Downloads]# tar -zxvf jdk-11.0.5_linux-x64_bin.tar.gz

查看解压结果:

[root@localhost Downloads]# ls
jdk-11.0.5  jdk-11.0.5_linux-x64_bin.tar.gz
把解压后的文件夹 jdk-11.0.5 移动到 /usr/local/

[root@localhost Downloads]# mv jdk-11.0.5 /usr/local/

添加环境变量

[root@localhost Downloads]# vim /etc/profile

把下面的配置添加到 profile 最下面:

export JAVA_HOME=/usr/local/jdk-11.0.5
export JRE_HOME=$JAVA_HOME/
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
 

修改完后保存退出
修改完 /etc/profile 后需要使配置文件生效

[root@localhost Downloads]# source /etc/profile

查看是否安装成功

[root@localhost Downloads]# java -version
java version "11.0.5" 2019-10-15 LTS

如果输出的版本号正确,就安装成功了

好了。。现在运行sonar会报es的错误,最新版sonarqube继承了es

ERROR: [3] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
[2]: memory locking requested for elasticsearch process but memory is not locked
[3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
ERROR: Elasticsearch did not exit normally – check the logs at /usr/local/soft/elasticsearch-7.11.1/logs/wen.log

报错信息1:
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
解决办法:
编辑 /etc/security/limits.conf
vi /etc/security/limits.conf,添加下面内容:
* soft nofile 65536
* hard nofile 65536
之后重新登录生效。

报错信息2:
memory locking requested for elasticsearch process but memory is not locked
解决办法:
修改elasticsearch.yml中的配置: bootstrap.memory_lock: false

报错信息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
执行/sbin/sysctl -p 立即生效
 

注意:启动sonar的时候要切换用户su sonarqube 然后运行/opt/sonarqube/bin/linux-x86-64/sonar.sh start

我这里还卡在数据库连接这个地方

把我的配置贴出来大家就明白了了。数据库是postgres  表是my_schema

用超级用户postgres

sonar.jdbc.url=jdbc:postgresql://localhost/postgres?currentSchema=my_schema
sonar.jdbc.username=postgres
sonar.jdbc.password=123456

还有一个坑sonarqube必须用Chrome,ie会一直卡在loading页面

贴个sonar.properties配置

sonar.web.host=10.0.0.55

# Web context. When set, it must start with forward slash (for example /sonarqube).
# The default value is root context (empty value).
#sonar.web.context=/opt/sonarqube/
# TCP port for incoming HTTP connections. Default value is 9000.
sonar.web.port=9000
 

Published by

风君子

独自遨游何稽首 揭天掀地慰生平