暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

codis server同步失败-超时

数据库这点小事 2019-11-28
777

因为业务上的一些问题,需要切换group中的主备,调整group结构,在进行测试的时候,有个节点slave执行同步的时候一直报错,尝试了几遍都没成功  

    

查看slave日志

    4294:S 27 Nov 13:16:34.334 # Connection with master lost.

    查看master日志

      4304:M 27 Nov 13:01:36.348 * Background saving terminated with success
      4304:M 27 Nov 13:02:31.420 * Synchronization with slave 172.19.0.93:6379 succeeded
      4304:M 27 Nov 13:06:13.259 # Disconnecting timedout slave: 172.19.0.93:6379
      4304:M 27 Nov 13:06:13.259 # Connection with slave 172.19.0.93:6379 lost.

      分析原因:

      主从复制一般影响因素是两个原因:

      1. repl-timeout,该参数的默认配置是60s,当复制数据的时间操作60s,master就会认为同步超时主动断开连接,也就产生了connect with master lost.

      2. client-output-buffer-limit,该参数决定了客户端输出缓冲区内存使用量,默认配置 

         client-output-buffer-limit slave 256mb 64mb 60

        从报错看

        问题的原因是因为超时,查看repl-timeout参数设置

          127.0.0.1:6379>  config get repl-timeout
          1) "repl-timeout"
          2) "60"

          修改timout时长

            127.0.0.1:6379> config set repl-timeout "300"
            OK
            127.0.0.1:6379> config get repl-timeout
            1) "repl-timeout"
            2) "300"

            再次同步

            成功

            注意:当数据同步完成后最好将配置修改为原配置,避免可能造成其他问题

              127.0.0.1:6379> config set repl-timeout "60"
              OK
              文章转载自数据库这点小事,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

              评论