无法在Memgraph主实例控制台注册副本实例求助
问题描述
在LAN环境下,通过Docker分别在服务器A、B部署Memgraph主实例MG1和副本实例MG2,已在MG2上执行:
SET REPLICATION ROLE TO REPLICA WITH PORT 10000;
随后在MG1上尝试以下命令注册副本均报错:
memgraph> REGISTER REPLICA r1 ASYNC TO "IP"; memgraph> REGISTER REPLICA r1 ASYNC TO "IP:10000"; memgraph> REGISTER REPLICA r1 ASYNC TO "DNS:10000";
报错信息:
Client received query exception: Couldn't register replica 'r1'!
端口已正确配置,请问遗漏了什么配置?
解决方案
针对Docker部署Memgraph主从的场景,以下是需排查的关键配置:
Docker端口映射未完成:MG2运行在容器内,需确保容器的10000端口映射到服务器B的宿主机端口。启动MG2时需添加参数:
docker run -p 10000:10000 ... memgraph/memgraph注册时需使用服务器B的宿主机IP+映射端口,而非容器内部IP。
主实例未启用复制:MG1需开启复制功能才能注册副本,启动时添加参数:
docker run --replication-enabled=true ... memgraph/memgraph或修改
memgraph.conf中replication-enabled=true后重启容器。服务器间端口连通性问题:检查服务器A与B之间的10000端口是否被防火墙/安全组拦截,可通过
nc -zv 服务器B_IP 10000验证连通性,若不通则开放对应端口规则。副本角色状态验证:在MG2上执行
SHOW REPLICATION ROLE;确认角色已设为REPLICA,若未生效则查看MG2日志排查端口占用等问题。身份验证配置(若启用):若MG2开启了身份验证,注册时需携带账号密码:
REGISTER REPLICA r1 ASYNC TO "服务器B_IP:10000" WITH USER "username" PASSWORD "password";
内容的提问来源于stack exchange,提问作者Votana SREY
相关产品推荐
相关产品推荐

