redis 集群中主节点被系统杀掉问题

来源:互联网 发布:淘宝名可以修改吗 编辑:程序博客网 时间:2024/06/18 18:26

文章目录

1、概述2、问题描述3、解决方法

1、概述redis 运行问题的处理。

2、问题描述redis 集群中主节点被系统杀掉问题。

3、解决方法原因调查:由于主从不同步并且主从差异(数据差异)过大,从节点向主服务器发送全同步命令(全部数据的同步动作),主服务器接收命令 fork() 出子进程利用 copy-on-write 方式持久化数据库,由于在持久化时还在对主节点进行操作,所以此时子进程会占用同父进程一样大小的空间。解决方法:(1)增加 repl-backlog-size 大小(默认 1M),使从服务器一直使用部分同步。(2)降低单个节点内存,使一台服务器上可以开启多个 redis 实例。原理解析:主从服务器都会记录当前键的 offset,其中主节点有一个 backlog 固长先进先出队列,存放最新的 redis 命令,当主从不同步的时候主节点会先判断从节点的 offset 是否在 backlog 中,如果在则执行部分同步(此方法不需要持久化),不在则执行全部同步,所以可以更改 repl-backlog-size 大小来解决。
0 0
原创粉丝点击