Redis主从+高可用(sentinel 哨兵模式)

文章目录

      • redis 主从复制
      • redis 哨兵(sentienl)模式

redis 主从复制

环境:2台 centos7
安装包准备:
wget http://download.redis.io/releases/redis-4.0.6.tar.gz

部署
master 和 slave 分别部署在不同的KVM

tar -xzvf  redis-4.0.6.tar.gz
cd redis-4.0.6
make 
make PREFIX=/usr/local/redis install

redis master 配置文件
这里只列出一些添加和修改的选项

vim /opt/redis/redis.conf

bind 0.0.0.0

port 6379

pidfile /opt/redis/redis.pid

logfile "/opt/redis/redis.log"

dir "/opt/redis"

slave-priority 100

requirepass ***    #设置 redis 的密码

masterauth "***"  #这个是 redis 的密码,slave 连接 master 需要密码,master 死了以后会变成 slave,所以也需要密码

maxmemory 1g

启动master

 /usr/local/redis/bin/redis-server /opt/redis/redis.conf &

redis slave 配置文件
slave 的配置和 master 基本一致,只需要加上 slaveof

slaveof 192.168.22.65 6379    #192.168.22.65 为 master ip

启动 slave

 /usr/local/redis/bin/redis-server /opt/redis/redis.conf &

测试
在 master 上

 /usr/local/redis/bin/redis-cli -a password -p 6379
 127.0.0.1:6379> select 1
 OK
 127.0.0.1:6379[1]> set name aaa
 "aaa"

在 slave 上

 /usr/local/redis/bin/redis-cli -a password -p 6379
127.0.0.1:6379>  select 1
 OK
127.0.0.1:6379[1]> get name
 "aaa"

测试成功

redis 哨兵(sentienl)模式

哨兵的作用

  1. 监控:监控主从是否正常
  2. 通知:出现问题时,可以通知相关人员
  3. 故障迁移:自动主从切换
  4. 统一的配置管理:连接者询问sentinel取得主从的地址

Sentinel实现Redis容灾部署
哨兵的个数为单数个,三个最好
总共需要三台 kvm 配置 redis sentinel,我的分别在 redis master 和 slave上,还有另外一台。

mkdir /opt/redis/sentinel
vim sentinel.conf
port 26379
daemonize yes
logfile "/opt/redis/sentinel/sentinel.log"
dir "/tmp"
sentinel monitor mymaster 192.168.22.65 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 60000
sentinel auth-pass mymaster password
sentinel config-epoch mymaster 53
sentinel known-slave mymaster 192.168.22.66 6379
sentinel current-epoch 53

启动哨兵

/usr/local/redis/bin/redis-sentinel /opt/redis/sentinel/sentinel.conf  &

测试

/usr/local/redis/bin/redis-cli -p 26379
127.0.0.1:26379> sentinel get-master-addr-by-name mymaster
1) "192.168.22.65"
2) "6379"

成功

你可能感兴趣的:(linux)