配置PostgreSQL后SonarQube启动失败,ElasticSearch退出码78求助
配置PostgreSQL后SonarQube启动失败排查求助
环境信息
- SonarQube版本:9.9.3(此前安装10.3.0版本时出现相同问题,已回退)
- 操作系统:Ubuntu 20.2
- JDK:openjdk 17.0.8.1
- 数据库:PostgreSQL 12.16
安装配置步骤
- 创建Ubuntu 20.2服务器及Linux用户
sonaruser - 通过apt安装openjdk 17.0.8.1
- 通过apt安装PostgreSQL 12.16
- 下载并解压sonarqube-9.9.3.79811至
/opt/sonarqube-9.9.3.79811,修改该目录及其子内容的所有者为sonaruser - 以PostgreSQL超级用户执行以下命令:
CREATE DATABASE sonardb; CREATE USER sonaruser with password 'sonarpass'; ALTER USER sonaruser SET search_path to sonarschema; GRANT ALL PRIVILEGES ON DATABASE sonardb TO sonaruser
- 以
sonaruser身份登录PostgreSQL,执行:
USE sonardb; CREATE SCHEMA IF NOT EXISTS sonarschema;
- 修改
/opt/sonarqube-9.9.3.79811/conf/sonar.properties配置:
sonar.jdbc.username=sonaruser sonar.jdbc.password=sonarpass sonar.jdbc.url=jdbc:postgresql://localhost:5432/sonardb?currentSchema=sonarschema sonar.web.host=0.0.0.0 sonar.web.context=/sonarqube sonar.web.port=9000
- 执行启动命令:
/opt/sonarqube/bin/linux-x86-64/sonar.sh
错误现象
启动后日志持续输出核心错误:
2023.12.01 10:34:36 WARN app[][o.s.a.p.AbstractManagedProcess] Process exited with exit value [ElasticSearch]: 78
同时伴随java.net.ConnectException: Connection refused连接拒绝错误,ElasticSearch被加入黑名单。
已完成排查
- 移除JDBC配置、使用嵌入式数据库时,SonarQube可正常启动
- 确认端口9000、9001未被占用,防火墙已关闭,通过netcat和telnet验证端口可正常监听与连接
- 从nohup.log可见ElasticSearch曾成功绑定9001端口并被SonarQube连接,但随后出现连接失败,推测ElasticSearch启动后随即退出
求助问题
配置PostgreSQL后SonarQube无法启动的原因是什么?盼指点。
内容的提问来源于stack exchange,提问作者Yogesh Devi
相关产品推荐
相关产品推荐

