Artifactory随机停止运行,无法连接http://localhost:8046求助
Artifactory实例突发崩溃后重启失败,心跳与Access服务连接异常
故障现象
7月19日10:09,Artifactory实例突然停止运行,健康检查(心跳)及Ping测试均失败。
报错日志
初始崩溃时的报错信息
2023-07-19T17:09:02.402Z ^[[36m[jfrou]^[[0m ^[[31;1m[ERROR]^[[0m [61d965809180fd0 ] [local_topology.go:112 ] [main ] - periodic send heartbeat failed for 4 consecutive times. Last error: failed sending heartbeat information to Access: failed closing Access grpc client: closing heartbeat client and waiting for response timed-out 2023-07-19T17:10:39.910Z ^[[1;32m[jfrt ]^[[0;39m ^[[1;31m[ERROR]^[[0;39m [6a3f49e4c58ecac8] [o.a.r.r.s.PingResource:90 ] [http-nio-8081-exec-5] - Error during ping test org.jfrog.access.client.AccessClientException: Access service is unavailable: Unable to connect to Access server: Read timed out
重启服务后的报错信息
2023-07-19T17:38:05.316Z [jfmd ] [INFO ] [6748847a95daf67e] [accessclient.go:49 ] [main ] - Cluster join: Retry 20: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access': Get http://localhost:8046/access/api/v1/system/ping: dial tcp [::1]:8046: connect: connection refused [access_client]
已完成的排查操作
- 确认端口8046未被网络拦截
- 近10天无服务器登录记录,排除人为操作因素
- 修改
system.yaml配置服务器IP后重启应用,问题未解决
排查方向与解决方案建议
1. 检查Access服务状态与日志
- 查看Access服务日志(默认路径:
$ARTIFACTORY_HOME/var/log/access/access-service.log),定位是否存在启动失败、内存溢出或依赖缺失的报错 - 手动启停Access服务:执行
$ARTIFACTORY_HOME/app/access/bin/access.sh restart,观察启动过程是否有异常输出
2. 验证端口监听与Router服务状态
- 检查8046端口监听情况:执行
netstat -tulpn | grep 8046或ss -tulpn | grep 8046,确认端口是否被jfrog router进程占用 - 检查Router服务状态:执行
$ARTIFACTORY_HOME/app/router/bin/router.sh status,若服务未运行则尝试重启:router.sh restart
3. 排查系统资源瓶颈
- 检查服务器内存、CPU使用情况:
free -h、top,确认是否因资源耗尽(如OOM)导致服务被系统杀死 - 检查磁盘空间:
df -h,确保Artifactory数据、日志、临时文件所在磁盘未被占满
4. 修正system.yaml配置
- 确认配置中router/access的地址参数是否正确,若服务器禁用IPv6,可强制指定IPv4地址(如将
localhost替换为服务器实际IPv4地址) - 核对
router.service.id、access.service.id等核心配置项,确保无拼写或格式错误
5. 清理残留进程后重启
- 查看相关进程:
ps aux | grep -E "(access|router|artifactory)",找到僵尸或异常进程后强制杀死:kill -9 <PID> - 按顺序重启服务:先启动Router,再启动Access,最后启动Artifactory
内容的提问来源于stack exchange,提问作者MarineJoey
相关产品推荐
相关产品推荐

