Mac环境下Docker部署Aerospike 2节点集群失败求助
解决Mac环境下Docker部署Aerospike 2节点集群组建失败问题
问题诊断
核心问题是Aerospike的fabric端口(3001)默认仅监听127.0.0.1,导致Docker容器间无法通过该端口完成集群握手。日志中的skipping forming cluster - cannot form new cluster from pending join requests (empty)正是因为节点间无法建立fabric连接,集群握手失败。
解决方案
方式一:启动容器时直接指定命令行参数
无需修改配置文件,直接通过docker run命令覆盖默认配置,确保所有关键端口监听容器内网地址:
启动节点1
docker run -d --name aerospike-node1 --network aerospike-network \ aerospike/aerospike-server \ asd --config-file /etc/aerospike/aerospike.conf \ --service-address 0.0.0.0 \ --fabric-address 0.0.0.0 \ --heartbeat-address 0.0.0.0 \ --heartbeat-mode mesh \ --heartbeat-port 3002 \ --heartbeat-seed-address aerospike-node2 3002
启动节点2
docker run -d --name aerospike-node2 --network aerospike-network \ aerospike/aerospike-server \ asd --config-file /etc/aerospike/aerospike.conf \ --service-address 0.0.0.0 \ --fabric-address 0.0.0.0 \ --heartbeat-address 0.0.0.0 \ --heartbeat-mode mesh \ --heartbeat-port 3002 \ --heartbeat-seed-address aerospike-node1 3002
参数说明:
--service-address 0.0.0.0:让服务端口(3000)监听所有地址,允许跨节点访问--fabric-address 0.0.0.0:让fabric端口(3001)监听所有地址,解决跨节点集群通信问题--heartbeat-mode mesh:使用Mesh模式组建集群(Aerospike社区版默认集群模式)--heartbeat-seed-address:指定集群种子节点,两个节点互相指向对方的心跳端口(3002)
方式二:自定义配置文件挂载
如果需要持久化配置,修改aerospike.conf的network块,确保所有网络监听any(即0.0.0.0),并配置Mesh心跳:
修改后的配置文件核心片段
network { service { address any port 3000 } fabric { address any port 3001 } heartbeat { mode mesh address any port 3002 # 添加两个节点作为种子 seed-address aerospike-node1 3002 seed-address aerospike-node2 3002 interval 150 timeout 10 } }
启动容器(挂载自定义配置)
节点1:
docker run -d --name aerospike-node1 --network aerospike-network \ -v /本地路径/aerospike.conf:/etc/aerospike/aerospike.conf \ aerospike/aerospike-server
节点2:
docker run -d --name aerospike-node2 --network aerospike-network \ -v /本地路径/aerospike.conf:/etc/aerospike/aerospike.conf \ aerospike/aerospike-server
集群验证
进入任意节点容器,执行以下命令查看集群节点:
docker exec -it aerospike-node1 asinfo -v 'services'
成功组建集群后,输出会包含两个节点的内网IP和服务端口,示例:
172.18.0.2:3000,172.18.0.3:3000
内容的提问来源于stack exchange,提问作者Rohit Singh
相关产品推荐
相关产品推荐

