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

无法连接到ArangoDB集群节点tcp://X.X.X.X:8531求助

ArangoDB集群连接失败:无法创建到tcp://X.X.X.X:8531的连接

问题概述

错误信息:无法创建到服务器的连接,端点为'tcp://X.X.X.X:8531'

环境信息

  • ArangoDB版本:3.3.4(64位,构建日期:2018-03-06 15:40:10,构建仓库:tags/v3.3.4-0-g36841fe)
  • 操作系统:CentOS 7.2
  • 集群节点:3节点,IP分别为192.168.19.171、192.168.19.172、192.168.19.181

各节点启动命令

192.168.19.181节点

# Agent启动
nohup arangod -c /etc/arangodb3/arangod.conf --database.directory /data1/agent/data --javascript.startup-directory /usr/share/arangodb3/js --javascript.app-path /data1/agent/apps --log.file /work/log/arangodb3/agent.log --log.force-direct false --agency.activate true --server.endpoint tcp://0.0.0.0:8531 --agency.my-address tcp://192.168.19.181:8531 --agency.size 3 --agency.supervision true --foxx.queues false --server.statistics true --agency.endpoint tcp://192.168.19.172:8531 --agency.endpoint tcp://192.168.19.171:8531&

# DBServer启动
nohup arangod -c /etc/arangodb3/arangod.conf --database.directory /data1/dbserver/data --javascript.startup-directory /usr/share/arangodb3/js --javascript.app-path /data1/dbserver/apps --log.file /work/log/arangodb3/dbserver.log --log.force-direct false --server.endpoint tcp://0.0.0.0:8530 --cluster.my-address tcp://192.168.19.181:8530 --cluster.my-role PRIMARY --foxx.queues false --server.statistics true --cluster.agency-endpoint tcp://192.168.19.181:8531 --cluster.agency-endpoint tcp://192.168.19.172:8531 --cluster.agency-endpoint tcp://192.168.19.171:8531&

# Coordinator启动
nohup arangod -c /etc/arangodb3/arangod.conf --database.directory /data1/coordinator/data --javascript.startup-directory /usr/share/arangodb3/js --javascript.app-path /data1/coordinator/apps --log.file /work/log/arangodb3/coordinator.log --log.force-direct false --server.endpoint tcp://0.0.0.0:8529 --cluster.my-address tcp://192.168.19.181:8529 --cluster.my-role COORDINATOR --foxx.queues true --server.statistics true --cluster.agency-endpoint tcp://192.168.19.181:8531 --cluster.agency-endpoint tcp://192.168.19.172:8531 --cluster.agency-endpoint tcp://192.168.19.171:8531&

192.168.19.171节点

# Agent启动
nohup arangod -c /etc/arangodb3/arangod.conf --database.directory /data1/agent/data --javascript.startup-directory /usr/share/arangodb3/js --javascript.app-path /data1/agent/apps --log.file /work/log/arangodb3/agent.log --log.force-direct false --agency.activate true --server.endpoint tcp://0.0.0.0:8531 --agency.my-address tcp://192.168.19.171:8531 --agency.size 3 --agency.supervision true --foxx.queues false --server.statistics true --agency.endpoint tcp://192.168.19.181:8531 --agency.endpoint tcp://192.168.19.172:8531&

# DBServer启动
nohup arangod -c /etc/arangodb3/arangod.conf --database.directory /data1/dbserver/data --javascript.startup-directory /usr/share/arangodb3/js --javascript.app-path /data1/dbserver/apps --log.file /work/log/arangodb3/dbserver.log --log.force-direct false --server.endpoint tcp://0.0.0.0:8530 --cluster.my-address tcp://192.168.19.171:8530 --cluster.my-role PRIMARY --foxx.queues false --server.statistics true --cluster.agency-endpoint tcp://192.168.19.181:8531 --cluster.agency-endpoint tcp://192.168.19.172:8531 --cluster.agency-endpoint tcp://192.168.19.171:8531&

# Coordinator启动
nohup arangod -c /etc/arangodb3/arangod.conf --database.directory /data1/coordinator/data --javascript.startup-directory /usr/share/arangodb3/js --javascript.app-path /data1/coordinator/apps --log.file /work/log/arangodb3/coordinator.log --log.force-direct false --server.endpoint tcp://0.0.0.0:8529 --cluster.my-address tcp://192.168.19.171:8529 --cluster.my-role COORDINATOR --foxx.queues true --server.statistics true --cluster.agency-endpoint tcp://192.168.19.181:8531 --cluster.agency-endpoint tcp://192.168.19.172:8531 --cluster.agency-endpoint tcp://192.168.19.171:8531&

192.168.19.172节点(存在错误)

# Agent启动(存在注释错误)
nohup arangod -c /etc/arangodb3/arangod.conf --database.directory /data1/agent/data --javascript.startup-directory /usr/share/arangodb3/js --javascript.app-path /data1/agent/apps --log.file /work/log/arangodb3/agent.log --log.force-direct false --agency.activate true --server.endpoint tcp://0.0.0.0:8531 --agency.my-address tcp://192.168.19.172:8531 --agency.size 3 --agency.supervision true --foxx.queues false --server.statistics true --agency.endpoint tcp://192.168.19.181:8531 --#agency.endpoint tcp://192.168.19.171:8531&

# DBServer启动
nohup arangod -c /etc/arangodb3/arangod.conf --database.directory /data1/dbserver/data --javascript.startup-directory /usr/share/arangodb3/js --javascript.app-path /data1/dbserver/apps --log.file /work/log/arangodb3/dbserver.log --log.force-direct false --server.endpoint tcp://0.0.0.0:8530 --cluster.my-address tcp://192.168.19.172:8530 --cluster.my-role PRIMARY --foxx.queues false --cluster.agency-endpoint tcp://192.168.19.181:8531 --cluster.agency-endpoint tcp://192.168.19.172:8531 --cluster.agency-endpoint tcp://192.168.19.171:8531&

# Coordinator启动(命令被截断,不完整)
nohup arangod -c /etc/arangodb3/arangod.conf --database.directory /data1/coordinator/data --javascript.startup-directory /usr/share/arangodb3/js --j

问题原因分析

  1. Agent配置错误(核心问题):192.168.19.172节点的Agent启动命令中,--#agency.endpoint tcp://192.168.19.171:8531多了一个#,导致该端点被注释,Agent无法连接到171节点的Agent。ArangoDB集群的Agent需要形成3节点quorum才能正常工作,缺少一个端点会导致集群无法建立,进而引发连接失败。
  2. Coordinator命令不完整:172节点的Coordinator启动命令被截断,无法正常启动或连接到集群,也会影响整个集群的可用性。
  3. 潜在网络问题:CentOS 7.2的防火墙可能未开放8531(Agent端口)、8530(DBServer)、8529(Coordinator)端口,或者节点之间网络不通,导致连接被拒绝。

解决方案

1. 修复172节点的Agent启动命令

将错误的--#agency.endpoint tcp://192.168.19.171:8531修改为--agency.endpoint tcp://192.168.19.171:8531,去掉前面的#,确保Agent能连接到所有集群节点。

2. 补全172节点的Coordinator启动命令

参考171和181节点的Coordinator命令,补全缺失部分:

nohup arangod -c /etc/arangodb3/arangod.conf --database.directory /data1/coordinator/data --javascript.startup-directory /usr/share/arangodb3/js --javascript.app-path /data1/coordinator/apps --log.file /work/log/arangodb3/coordinator.log --log.force-direct false --server.endpoint tcp://0.0.0.0:8529 --cluster.my-address tcp://192.168.19.172:8529 --cluster.my-role COORDINATOR --foxx.queues true --server.statistics true --cluster.agency-endpoint tcp://192.168.19.181:8531 --cluster.agency-endpoint tcp://192.168.19.172:8531 --cluster.agency-endpoint tcp://192.168.19.171:8531&

3. 按顺序重启集群节点

  • 先停止所有节点的ArangoDB进程:
# 停止所有arangod进程
pkill arangod
  • 按Agent → DBServer → Coordinator的顺序重启:
    1. 分别在三个节点启动Agent,等待Agent集群形成quorum(查看/work/log/arangodb3/agent.log,确认日志中出现类似agency is now active的信息)。
    2. 启动三个节点的DBServer,等待其连接到Agent集群。
    3. 启动三个节点的Coordinator。

4. 检查网络与防火墙

  • 测试节点间端口连通性:
# 在172节点测试连接171的8531端口
nc -zv 192.168.19.171 8531
# 在171节点测试连接181的8531端口
nc -zv 192.168.19.181 8531
  • 开放防火墙端口或临时关闭防火墙:
# 临时关闭防火墙测试
systemctl stop firewalld

# 永久开放端口(推荐)
firewall-cmd --add-port=8529/tcp --permanent
firewall-cmd --add-port=8530/tcp --permanent
firewall-cmd --add-port=8531/tcp --permanent
firewall-cmd --reload

5. 查看日志定位细节

如果问题仍然存在,查看各节点的日志文件:

  • Agent日志:/work/log/arangodb3/agent.log
  • DBServer日志:/work/log/arangodb3/dbserver.log
  • Coordinator日志:/work/log/arangodb3/coordinator.log
    日志中会包含具体的连接失败原因(如超时、拒绝连接等),可以进一步排查。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 10:18:49