You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JFrog Artifactory OSS 7.4.1安装后无法连接Router报错求助

解决Artifactory OSS 7.4.1集群加入失败(连接localhost:8046被拒)的问题

先提炼下你的核心问题:在CentOS虚拟机全新安装jfrog-artifactory-oss-7.4.1后,启动时Artifactory和Access服务都无法连接到localhost:8046的Router,报错连接被拒绝/注册失败。

你提供的关键日志:

  • Artifactory日志:
    2020-04-18T11:53:25.305Z [jfrt ] [INFO ] [a88f4f6ce96d65bb] [o.j.c.ExecutionUtils:141 ] [pool-13-thread-1 ] - 集群加入:第5次重试:服务注册ping失败,将重试。尝试连接地址为‘http://localhost:8046/access’的本地Router时出错:连接localhost:8046 [localhost/127.0.0.1]失败:连接被拒绝(Connection refused)
    
  • Access日志:
    2020-04-18T11:52:29.093Z [jfac ] [WARN ] [7b2c676f76c7ef43] [o.j.c.ExecutionUtils:141 ] [pool-6-thread-2 ] - 第20次重试,耗时9.54秒,失败:向URL为http://localhost:8046的Router注册失败,错误:UNAVAILABLE: io exception。将重试
    

Artifactory 7.x是微服务架构,Router是所有服务的核心入口和注册中心,所以这个问题的根源是Router服务未正常启动,或者没有监听8046端口。下面是具体的排查和解决步骤:

1. 先确认Router的状态和端口监听

首先检查Router进程是否在运行,以及8046端口是否被监听:

  • 查看Router进程:
    ps aux | grep router
    
  • 检查8046端口的监听状态(CentOS 7+推荐用ss命令):
    ss -tulpn | grep 8046
    

如果没有任何结果,说明Router根本没启动,接下来直接看Router的启动日志找原因。

2. 查看Router的启动日志

Router的日志默认存放在$ARTIFACTORY_HOME/var/log/router/router.log,打开这个文件找启动失败的具体错误——常见原因包括:

  • 8046端口被其他进程占用
  • system.yaml配置存在网络冲突
  • Router进程没有读写相关目录的权限

3. 调整system.yaml配置,确保组件通信正常

你的system.yaml只配置了节点IP,但建议补充Router的绑定配置,让所有微服务能正确识别Router的地址:

shared:
  node:
    ip: 172.16.217.147
    hostname: artifactory-master
router:
  entrypoints:
    internal:
      host: artifactory-master
      port: 8046

修改完成后,重启整个Artifactory服务栈:

$ARTIFACTORY_HOME/app/bin/artifactoryctl restart

4. 检查防火墙和SELinux的拦截

CentOS默认的firewalld可能会拦截8046端口,先临时关闭防火墙测试:

systemctl stop firewalld

如果关闭后问题解决,记得永久开放8046端口:

firewall-cmd --add-port=8046/tcp --permanent
firewall-cmd --reload

另外,SELinux也可能阻止进程监听端口,临时关闭测试:

setenforce 0

如果有效,你可以配置SELinux允许Artifactory使用该端口,或者将SELinux调整为宽容模式。

5. 清理Router缓存后重新启动

如果之前启动失败留下了缓存文件,可能导致后续启动异常,先清理缓存:

rm -rf $ARTIFACTORY_HOME/var/data/router/cache

然后重新启动Artifactory:

$ARTIFACTORY_HOME/app/bin/artifactoryctl start

关键提醒

Artifactory 7.x的所有微服务都依赖Router完成注册和通信,所以Router必须最先启动成功。如果Router启动失败,其他服务都会陷入无限重试的循环。优先排查Router的日志,是解决这类问题的核心。

内容的提问来源于stack exchange,提问作者Joel Werginz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 11:37:44