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

重启后复制异常:SYNC节点误识别为MAIN角色

解决Memgraph副本重启后变为MAIN角色的问题

问题原因

Memgraph的复制角色配置默认是运行时临时设置的,重启后会恢复为默认的MAIN角色,除非通过配置文件或启动参数持久化指定副本角色。

解决步骤

  1. 停止当前Insta3容器
    先查看容器ID:

    docker ps
    

    停止容器:

    docker stop <insta3_container_id>
    
  2. 重新以副本角色启动Insta3
    选择以下两种方法之一:

    • 方法一:启动命令直接指定参数
      替换<insta1_internal_ip>为Insta1的Docker内部IP(可通过docker inspect <insta1_container_id> | grep "IPAddress"查询),执行启动命令:
      docker run -it -p 7689:7687 -p 3002:3000 -v mg_lib3:/var/lib/memgraph memgraph/memgraph-platform \
        --replication-role=REPLICA \
        --replication-main-address=<insta1_internal_ip>:7687 \
        --replication-sync-mode=SYNC
      
    • 方法二:通过持久化配置文件启动
      1. 从容器导出默认配置文件:
        docker cp <insta3_container_id>:/etc/memgraph/memgraph.conf ./memgraph3.conf
        
      2. 编辑memgraph3.conf,添加或修改以下参数:
        --replication-role=REPLICA
        --replication-main-address=<insta1_internal_ip>:7687
        --replication-sync-mode=SYNC
        
      3. 挂载配置文件重启容器:
        docker run -it -p 7689:7687 -p 3002:3000 \
          -v ./memgraph3.conf:/etc/memgraph/memgraph.conf \
          -v mg_lib3:/var/lib/memgraph \
          memgraph/memgraph-platform
        
  3. 验证角色状态
    进入Insta3的Cypher Shell:

    docker exec -it <insta3_container_id> cypher-shell
    

    执行查询确认角色:

    SHOW REPLICATION STATUS;
    

    输出中应显示角色为REPLICA,且已连接到主节点。

预防措施

  • 所有副本节点启动时,通过配置文件或启动参数明确指定--replication-role=REPLICA,避免重启后角色重置。
  • 确保主节点地址配置正确,副本能正常与主节点建立连接并同步数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 09:00:23