redis主备同步配置方法

原创 2016年08月29日 11:53:07

1. 配置主备

假设主机ip:10.136.16.146 port:6789
备机ip:10.136.30.144

我们有两种方式为其配置备机

方法1:修改备机配置文件

redis.conf中增加

daemonize yes
slaveof 10.136.16.146 6789
# 如果主机有密码,则修改下面一行即可
# masterauth <master-password>

在备机上启动redis

redis-server ./tmp/redis.conf

连接上备机reids,执行info replication, 可以看到下面的结果

127.0.0.1:9303> info replication
# Replication
role:slave
master_host:10.136.16.146
master_port:6789
master_link_status:up
master_last_io_seconds_ago:0
master_sync_in_progress:0

...

此时,我们的主备就已配好。数据会自动同步(包括主机之前的数据),如果之前主机中有数据,此时已可以在备机中读取。

连接主机,执行info replication,可以看到下面结果

10.136.16.146:6789> info replication
# Replication
role:master
connected_slaves:1
slave1:ip=10.136.30.144,port=9303,state=online,offset=40383758059,lag=0
master_repl_offset:40383983932

...

可以看到,主机上已连接一台备份redis,正是我们刚刚启动的那台。

方法2:动态修改备机配置

当然,有时你可能没有权限修改备机redis配置文件或重启redis-server。这时,如果你想配置主备,只需要连上备机redis,执行:

slaveof 10.136.16.146 6789

#主机有密码,还要执行这条
#config set masterauth <password>

同样可以达到配置主备的目的

2.取消主备

有两种方法取消息主备
1. 直接在配置文件中去掉slaveof的配置,然后重启redis-server
2. 连入备机,执行

slaveof no one

取消主备后,在备机上执行info replication, 会看到

127.0.0.1:9303> info replication
# Replication
role:master
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0

当前机器的角色已不再是slave, 而是master

3. 几个可能用到的参数

  1. slave-read-only:两个值,yes/no,用于控制slave是否为只读
  2. slave-serve-stale-data: 用于控制当slave和master失去连接或正在进行同步时,slave的行为。
    • yes(默认):仍然正常处理客户端请求,但数据可能是旧的
    • no:向客户端回复SYNC with master in progress

4. 建议

如果配置了主备,建议master开启数据持久化,或者至少不要让master在挂掉后可以自动重启。

可以想象这样一个场景:master未开启持久化,master挂了后被监控重启。这时,master中没有任何数据,slave由于和master同步,上面的数据也将被清空!

redis配置主从备份以及主备切换方案配置

前提:redis中,主从切换场景中,没有绝对的主和从,只有初始化的主和从,然后当主down后,从就变成主了,而主即使连接上,也是从,不会变为主 1、redis-server的主备关系:     需...

redis的主从复制配置

redis的主从复制配置 一、     原理 Redis的主从复制功能非常强大,一个master可以拥有多个slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务...

redis主备集群服务器及自动切换的配置

redis主备服务器及自动切换的配置
  • whh743
  • whh743
  • 2017年01月18日 15:50
  • 762

Redis主从复制和集群配置

Redis主从复制和集群配置         redis主从复制 概述 1、redis的复制功能是支持多个数据库之间的数据同步。一类是主数据库(master)一类是从数据库(slave)...

Redis 一种主主复制解决方案及其实现

问题的提出 redis(特指2.8.14及以下)replication仅支持主从复制。在实际生产环境中,这种单向主从复制,没有办法做高可用(当然,如果允许数据丢失的话,可以采用keepalived,采...

Redis 双主实现

redis双主设计 背景 目前redis仅支持主从复制模式,可以支持在线备份、读写分离等功能,实际应用中通常通过sentinel服务做主从切换的管理,这增加了管理的复杂度和维护成本,基于此...

Redis主从同步原理-SYNC

和MySQL主从复制的原因一样,Redis虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况。为了分担读压力,Redis支持主从复制,Redis的主从结构可以采用一主多从或者级联结构,下图为级...
  • sk199048
  • sk199048
  • 2016年02月23日 18:36
  • 14965

Redis学习笔记(三) Redis主从架构和主从从架构 (1)

Redis的主从复制功能非常强大,一个master可以拥有多个slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构. 可以避免Redis单点故障,构建读写分离...

redis主从同步原理

1. 概述整体过程概述如下: 1. 初始化配置好主从后,无论slave是初次还是重新连接到master, slave都会发送PSYNC命令到master。 如果是重新连接,且满足增量同步的条件(3...
  • qmhball
  • qmhball
  • 2016年08月30日 10:16
  • 3172

一种redis主主解决方案及其实现

声明 本文为Gleasy原创文章,转载请指明引自Gleasy团队博客 问题的提出 redis(特指2.8.14及以下)replication仅支持主从复制。在实际生产环境中,这种单向主从复制...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:redis主备同步配置方法
举报原因:
原因补充:

(最多只允许输入30个字)