redis主从+哨兵&集群

先送张壁纸
在这里插入图片描述

redis主从+哨兵配置(高可用):
redis主从配置非常简单 你只需要在你原来sove(从)的redis.conf基础上找到 replicaof 把注释去掉,然后跟上你master的ip加端口号就行 如果你的redis-master有密码的话 就直接把密码的注释也去掉 加上密码;如下
在这里插入图片描述
主的话就不用配置了 然后就直接启动 全部起来之后可以redis-cli -P (端口号)进入mester 看一下

info replication (查看主从)
在这里插入图片描述
可以看到我们这个主节点有三个从节点,分别是0.199:6380 、0.104:6379以及0.104:6380 那么我们在这里set一个key看看在从节点能不能取得到;
在这里插入图片描述
可以看到 这边就从0.104的6380这个sove里面 get到这个值了 注意 sove里面是不能set数据的哈;

那么有了主从我们就可以高枕无忧了嘛 ,并不能 因为你只搭了一主三从,如果从挂掉了还没试,还能正常运行,如果master挂掉了怎么办,挂掉了就歇逼?那是不可能的事情,那么就需要哨兵了

哨兵解读:

哨兵会对主进行心跳检测,每隔几秒钟会问一下 “master 死了没?” 主机会回复他 “我还能坚持坚持” 那就说明没死,那如果主机不回复怎么办 那么这个哨兵会判断这个主机 当场死亡,这叫主观下线;如果超过半数以上的哨兵觉得主机挂掉了,就会从剩下的sove里面选举新的master 这个时候 之前的那个主机 就叫做客观下线;

哨兵搭建:

创建一个文件夹,把哨兵的配置文件放进去,配置文件如下;

bind 0.0.0.0
# 哨兵的端口
port 26379
#监控redis的主机
sentinel monitor mymaster 192.168.0.199 6379 1
#链接redis密码
sentinel auth-pass mymaster 123456
#当redis主机挂了之后,哨兵主观认为主节点下线,切换主节点的时间默认是三十秒
sentinel down-after-milliseconds mymaster 5000
#若sentinel在该配置值内未能完成failover操作(即故障时master/slave自动切换),则认为本次failover失败。
sentinel failover-timeout mymaster 18000

每个配置文件除了端口号不一样其余都一样哈

在redis/bin文件夹下面有一个 redis-sentinel 也就是redis的哨兵那么启动他

./redis-sentinel /usr/loacl/redis/sent/sentinel01.conf & #后台启动
./redis-sentinel /usr/loacl/redis/sent/sentinel02.conf & #后台启动
./redis-sentinel /usr/loacl/redis/sent/sentinel03.conf & #后台启动

然后我们再查看下redis的进程;
在这里插入图片描述
看到有三个 sentinel 也就是三个哨兵 这个时候 你的redis主机要是挂了就可以直接切换过去了;自己试一下把,这里就不演试了;

redis集群搭建

集群和主从不一样的点,主从是sove把master的数据复制下来,本质上主从的话并没有减轻各个redis的压力,改是多少内存就是多少内存,跑不掉的;集群的话是三个主从,通过算法把key、vlue 分布到每一台服务器上,但是几台服务之间数据又是互通的,这就大大的减轻服务器的压力;如果当其中一台挂了的话,会自动把数据转到另外两台服务器上,有兴趣的话,可以深入研究下;

1、创建指定的redis-clouster的conf文件

第一行就是引入redis.conf文件 直接用纯净的redis.conf文件就好

include /usr/local/redis/etc/redis.conf
#添加端口 伪集群的话 需要更改端口
port 6379
pidfile /var/run/redis6379-218.pid
dbfilename redis6379-219.rdb
appendfilename "appendonly6379-218.aof"
cluster-enabled yes
cluster-config-file nodes6379-218.conf
daemonize yes
#需要先创建data文件夹
dir /usr/local/redis/data/
bind 0.0.0.0
#有密码的话需要添加下面
requirepass "123456"
masterauth "123456"

2、把所有的redis都启动起来 起来的时候指定这个redis-clouster配置文件

redis-server /usr/local/redis/etc/redis-6379.conf

在这里插入图片描述

在这里插入图片描 述
3、创建集群

#前面三个默认是主 也就是master 后面三个是从 sove
#有密码的话 后面要加-a pws
redis-cli --cluster create 192.168.216.128:6377 192.168.216.128:6379 192.168.0.219:6375 192.168.216.128:6378 192.168.0.219:6374 192.168.0.219:6376 --cluster-replicas 1 -a 123456

在这里插入图片描述
这里很好玩 它问你 你对他的配置满意吗 ,你要么不搭 要么yes 因为你不满意也没有别的配置~

4、进入查看

#进入的时候 -c是集群进入 -h是ip  -p 是端口 -a是密码 
 redis-cli -c -h 127.0.0.1 -p 6377 -a "123456"

结束 收工 bye~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值