您的位置:首页 > 数据库 > Redis

redis主从复制

2017-05-15 09:34 295 查看
redis集群的作用

1.主从备份,防止主机宕机

2.读写分离,分担master的任务

3.任务分离,如从服务分别分担备份工作与计算工作

主从通信过程



redis集群配置

Master配置:

1.关闭rdb快照(备份工作交给slave)

2.可以开启aof

slave配置

1.声明slave-of

2.配置密码[如果master有密码]

3.[某一个]slave打开rdb快照功能

4.配置是否只读[slave-read-only]

例如开启三个redis服务器为例

主服务器rdb关掉,aof打开,

1号服务器rdb打开,aof禁掉

2号服务器rdb关掉,aof禁掉

将原来的redis配置文件拷贝两份

cp redis.conf redis6380.conf

cp redis.conf redis6381.conf

将redis的所有进程杀掉

pkill -9 redis

vim redis6380.conf

更改redis6380.conf中的配置内容

将pidfile /var/run/redis.pid

改为:

pidfile /var/run/redis6380.pid

将默认的端口改为

port 6380

dbfilename dump.rdb

改为由1号从服务器接手rdb工作

dbfilename dump6380.rdb

不让它产生aof

将appendonly yes

改为

appendonly no

设置slaveof 搜索slaveof 添加

slaveof localhost 6379

如果主服务器有密码的话配置密码

masterauth 123

slave-read-only yes

vim redis6381.conf

更改redis6381.conf中的配置内容

将pidfile /var/run/redis.pid

改为:

pidfile /var/run/redis6381.pid

将默认的端口改为

port 6381

关闭rdb

注释掉

#save 900 1

#save 300 10

#save 60 10000

不让它产生aof

将appendonly yes

改为

appendonly no

设置slaveof 搜索slaveof 添加

slaveof localhost 6379

如果主服务器有密码的话配置密码

masterauth 你的密码

slave-read-only no

配置主服务器

vim redis.conf

关闭rdb

注释掉

#save 900 1

#save 300 10

#save 60 10000

配置密码:

requirepass 密码

开启aof

appendonly yes

开启3个服务器

./redis-server redis.conf

./redis-server redis6380.conf

./redis-server redis6381.conf

查看redis进程

ps -A | grep redis



客户端连接到6379端口

./redis-cli

auth 你的密码

set title hello



客户端连接到6380端口

./redis-cli -p 6380

get title



客户端连接到6380端口

./redis-cli -p 6381

get title



redis主从复制的缺陷

每次slave断开后,(无论主动断开,还是网络故障)再连接master

都要从master全部dump出来rdb,在aof,即同步的过程都要重新执行一遍。

所以:

多台slave不要一下启动起来,否则master可能IO剧增。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息