redis哨兵搭建_主从复制高可用解决方案

redis哨兵搭建_主从复制高可用解决方案

redis集群搭建_亲自操作

Redis哨兵-实现Redis高可用

Redis Sentinel为Redis提供了高可用解决方案。实际上这意味着使用Sentinel可以部署一套Redis,在没有人为干预的情况下去应付各种各样的失败事件。

Redis Sentinel同时提供了一些其他的功能,例如:监控、通知、并为client提供配置。

下面是Sentinel的功能列表:

  • 监控(Monitoring):Sentinel不断的去检查你的主从实例是否按照预期在工作。

  • 通知(Notification):Sentinel可以通过一个api来通知系统管理员或者另外的应用程序,被监控的Redis实例有一些问题。

  • 自动故障转移(Automatic failover):如果一个主节点没有按照预期工作,Sentinel会开始故障转移过程,把一个从节点提升为主节点,并重新配置其他的从节点使用新的主节点,使用Redis服务的应用程序在连接的时候也被通知新的地址。

  • 配置提供者(Configuration provider):Sentinel给客户端的服务发现提供来源:对于一个给定的服务,客户端连接到Sentinels来寻找当前主节点的地址。当故障转移发生的时候,Sentinels将报告新的地址。

linux下安装redis

mkdir -pv /data/software
cd /data/software/

wget http://download.redis.io/releases/redis-5.0.3.tar.gz

tar -zxvf redis-5.0.3.tar.gz

mkdir -pv /data/apps

mv redis-5.0.3 /data/apps

cd /data/apps/redis-5.0.3
make

src/redis-server #启动redis服务

src/redis-cli 连接redis 和 操作

redis> set foo bar
OK
redis> get foo
"bar"

哨兵搭建 1主2从

主节点master 8000配置如下
mkdir 8000

cp redis.conf 8000/redis.conf

#修改配置
vim 8000/redis.conf

#bind 127.0.0.1 #可以远程访问
protected-mode no #保护模式关闭
daemonize yes #后台启动
port 8000

pidfile /var/run/redis_8000.pid
logfile "/data/redis-cluster/8000/8000.log"
dbfilename dump.rdb

dir /data/redis-cluster/8000/
appendonly yes #aof日志开启  有需要就开启,它会每次写操作都记录一条日志
appendfilename "appendonly8000.aof"

masterauth abcd_123
requirepass abcd_123

打开redis的key过期监听提醒
notify-keyspace-events Ex
注释
#notify-keyspace-events ""

-----------------------------------------------
从节点8001配置如下
mkdir 8001

cp redis.conf 8001/redis.conf

#修改配置
vim 8001/redis.conf

#bind 127.0.0.1 #可以远程访问
protected-mode no #保护模式关闭
daemonize yes #后台启动
port 8001

pidfile /var/run/redis_8001.pid
logfile "/data/redis-cluster/8001/8001.log"
dbfilename dump.rdb

dir /data/redis-cluster/8001/
appendonly yes #aof日志开启  有需要就开启,它会每次写操作都记录一条日志
appendfilename "appendonly8001.aof"

replicaof 192.168.1.179 8000 # 主服务这句话注释,从服务配置的两台需要开启。配置主服务的ip的port 用外网ip或内网,不要用127.0.0.1
      #redis5.0以后 将配置指令也从 slaveof 更改为 replicaof 
      #为 SLAVEOF 提供别名 REPLICAOF,所以仍然可以使用 SLAVEOF,但多了一个选项

masterauth abcd_123
requirepass abcd_123

打开redis的key过期监听提醒
notify-keyspace-events Ex
注释
#notify-keyspace-events ""

---------------------------------------------------
从节点8002配置 和8001节点配置差不多

启动redis

#分别启动三台redis
redis-5.0.5/src/redis-server 8000/redis.conf
redis-5.0.5/src/redis-server 8001/redis.conf
redis-5.0.5/src/redis-server 8002/redis.conf

https://www.cnblogs.com/web369/articles/8662036.html
查看主从状态信息
./redis-cli -h 192.168.1.179 -p 8000 -a abcd_123 
./redis-cli -h 192.168.1.179 -p 8001 -a abcd_123
info replication

哨兵配置

哨兵配置 sentinel.conf 文件
cp redis-5.0.5/sentinel.conf 8000/

vim 8000/sentinel.conf 
protected-mode no
port 28000
daemonize yes
pidfile /var/run/redis-sentinel28000.pid
logfile "/data/redis-cluster/8000/28000.log"
dir /data/redis-cluster/8000

sentinel monitor mymaster 192.168.1.179 8000 2 #程序需要配置,用程序能访问的ip和端口,不要用127.0.0.1
sentinel auth-pass mymaster abcd_123
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
sentinel deny-scripts-reconfig yes

cp 8000/sentinel.conf 8001/
cp 8000/sentinel.conf 8002/
修改对应端口和配置

启动redis-sentinel进程
 redis-5.0.5/src/redis-sentinel 8000/sentinel.conf 
 redis-5.0.5/src/redis-sentinel 8001/sentinel.conf 
 redis-5.0.5/src/redis-sentinel 8002/sentinel.conf 


查看主从状态信息
./redis-cli -h 192.168.1.179 -p 8000 -a abcd_123 
info replication

参考链接:
https://www.cnblogs.com/ibethfy/p/9965902.html
https://www.jianshu.com/p/e586137c5a19

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

beyond阿亮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值