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剧增。