目录
Prerequisites and Overview | SonarQube Docshttps://docs.sonarqube.org/latest/requirements/requirements/SonarQube Server 需要JAVA11
SonarQube Scanner 支持JAVA11、JAVA17
数据库支持Postgresql、SQL Server、Oracle
如果您在 Linux 上运行,则必须确保:
- #安装jdk11
- yum install java-11-openjdk java-11-openjdk-devel
-
- #安装postgresql-13
- #官网获取rpm安装包,直接yum安装
- yum install -y postgresql13-libs-13.0-1PGDG.rhel7.x86_64.rpm #客户端依赖
- yum install -y postgresql13-13.0-1PGDG.rhel7.x86_64.rpm #客户端
- yum install -y postgresql13-server-13.0-1PGDG.rhel7.x86_64.rpm #服务端
-
- #安装完会自动创建postgres用户
各平台yum安装步骤
PostgreSQL: Downloadshttps://www.postgresql.org/download/rpm下载地址
RPM Chart - PostgreSQL YUM Repositoryhttps://yum.postgresql.org/rpmchart/
yum安装完,默认的pgsql-13的数据目录在/var/lib/pgsql/13/data/。除非/var目录可用空间很大,否则需要修改数据目录。
- #创建数据目录&修改属主属组
- mkdir -p /data/postgresql-13.0/
- chown postgres: -R /data/postgresql-13.0/
-
- #初始化pgsql(指定数据目录)
- sudo -u postgres /usr/pgsql-13/bin/initdb --encoding=UTF-8 --username=postgres --pgdata=/data/postgresql-13.0/data
- #--encoding 字符集
- #--username 启动用户
- #--pgdata 数据目录(数据目录如已存在会报错)
-
- #记录配置文件路径
- vim /data/postgresql-13.0/data/postgresql.conf #修改 listen_addresses = '*' ,postgresql启动参数。
- # /data/postgresql-13.0/data/pg_hba.conf #定义哪些服务器、可以用什么样的方式,访问postgresql。(如下,允许所有库被远程连接,需要账密验证)
- # host all all 0.0.0.0/0 md5
-
- #修改service文件(修改数据目录)
- vim /usr/lib/systemd/system/postgresql-13.service #修改后:Environment=PGDATA=/data/postgresql-13.0/data/
- systemctl daemon-reload
-
- #启动postgresql-13
- systemctl enable postgresql-13 #开机自启
- systemctl start postgresql-13
- psql -U postgres #连接数据库(此命令会用postgres用户,默认连入postgres数据库。-U指定用户 -d指定数据库)
-
- #新建用户sonarqube,密码xxxxxx
- create user sonarqube with password 'xxxxxx';
-
- #创建数据库sonarqube_9_6并指定owner为sonarqube
- create database sonarqube_9_6 with owner sonarqube;
-
- #授权sonarqube用户在数据库sonarqube_9_6拥有所有权限
- grant all on database sonarqube_9_6 to sonarqube;
- #创建sonar用户
- useradd sonar
-
- #解压文件
- cd /opt
- unzip sonarqube-9.6.0.59041.zip #解压后的原文件可以mv或者cp -r改名
- chown -R sonar: sonarqube-9.6.0xxxx/ #解压后的文件或者mv/cp后的文件修改权限
-
- #备份原始配置文件
- cd sonarqube-9.6.0xxx/conf/
- mv sonar.properties sonar.properties.bak
- #修改配置文件(pgsql连接信息,数据库信息;端口配置,避免端口冲突)
sonarqube安装包下载
- #postgresql连接配置
- sonar.jdbc.username=sonarqube
- sonar.jdbc.password=xxxxxx
- sonar.jdbc.url=jdbc:postgresql://xx.xx.xx.xx:5432/sonarqube_9_6
-
- sonar.web.javaOpts=-Xmx2g -Xms2g -XX:+HeapDumpOnOutOfMemoryError
- sonar.web.host=0.0.0.0
- sonar.web.context=/sonarqube
- sonar.web.port=9000
-
- sonar.ce.javaOpts=-Xmx4g -Xms512m -XX:+HeapDumpOnOutOfMemoryError
-
- sonar.search.javaOpts=-Xms2g -Xmx2g -XX:+HeapDumpOnOutOfMemoryError
- sonar.search.port=9001
-
- sonar.path.data=data
- sonar.path.temp=temp
启动服务时必须用snoar用户。
可以将启动命令写入开机自启(/etc/rc.local)。
- #启动
- sudo -u sonar /opt/sonarqube-9.6.0xxx/bin/linux-x86-64/sonar.sh start
- #停止
- sudo -u sonar /opt/sonarqube-9.6.0xxx/bin/linux-x86-64/sonar.sh stop
- #重启
- sudo -u sonar /opt/sonarqube-9.6.0xxx/bin/linux-x86-64/sonar.sh restart
sonar单机模式启动会报es内存不足报错,导致es退出。
- ERROR es[][o.e.b.Bootstrap] node validation exception
- [1] bootstrap checks failed. You must address the points described in the following [1] lines before starting Elasticsearch.
- bootstrap check failure [1] of [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决方法:
- #临时修改
- sysctl -w vm.max_map_count=655360
-
- #永久修改
- vim /etc/sysctl.conf
- vm.max_map_count=655360
- sysctl -p
-
- #查看
- cat /proc/sys/vm/max_map_count