Redis配置哨兵模式(sentinel)
1、哨兵模式(sentinel)是什么?
哨兵是一个独立的进程,其原理是:哨兵通过向redis服务器发送命令,等待redis服务器响应,从而监控多个运行中的redis实例。
- 通过发送命令,让redis服务器返回监控其运行状态,包括主服务器和从服务器。
- 当哨兵监测到master(主机)宕机,会自动将slave(从机)切换成主机,然后通过发布订阅模式通知其他从机,让从机修改配置文件,让它们切换主机。 但是单哨兵模式仍然是存在问题的。因为有可能因为网络原因,导致一个哨兵监听服务器的时候,误以为它挂了。 因此,存在多哨兵模式 。 每个哨兵都会定时地向 其他哨兵、Master(主机)、Slave(从机) 发送消息,以确保对方还活着。
2、简单了解之后开始配置哨兵模式(sentinel)。
查看安装目录,发现目录下有一个sentinel.conf配置文件,通过文件名可知,这个就是哨兵模式的配置文件。 那么知道配置文件了,如何启动呢? 我们知道启动redis服务是使用redis-server redis.conf命令启动,我就去找到这个启动服务命令所在的文件夹,发现有一个redis-sentinel 通过名字就可以知道,这个就是启动哨兵模式的命令。
3、配置哨兵模式的配置文件。
此时知道了配置文件和启动命令,但是现在还不能运行,需要修改配置文件,来满足我们的需求。 使用vi sentinel.conf编辑配置文件。 建议使用vim来编辑配置文件。 vim和vi一样的操作,但是vim会把注释的内容特殊颜色标识,未注释的采用白色标识。 如果使用vim提示未找到此命令。 执行这条命令,来安装vim编辑器
yum -y install vim*
vim sentinel.conf
根据提示自行修改对应的内容。
# 127.0.0.1表示redis主节点的ip地址 # 6379表示主节点的端口号 # 2 表示有多少个哨兵选取redis从节点后,该从节点可以当选为主节点。
配置文件只需要修改这一个即可。
4、测试哨兵模式。
通过查看配置,确认都已经绑定主节点。
info replication
4、1开启哨兵模式
哨兵模式默认15s刷新一次。 通过命令开启哨兵模式
redis-sentinel sentinel.conf
哨兵模式默认是前台开启,出现如下界面表示开启成功。 通过加载出来的命令发现已经监听到了所有的节点。
4、2手动让主节点挂掉
4、3发现主机宕机后会自动选举新的主节点。
5、总结:
优点:
- 哨兵集群,基于主从复制模式,所有的主从配置优点,它都有
- 主从可以切换,故障可以转移,高可用性的系统
- 哨兵模式就是主从模式的升级,手动到自动,更加健壮
缺点:
- Redis不好在线扩容的,集群容量一旦到达上限,在线扩容就十分麻烦
- 哨兵模式的配置繁琐
- 持久化文件始终在一个服务器上。
那么有个疑问了,有没有能代替哨兵模式的存在吗? 答案肯定是有的,去中心化集群
下一篇:
二叉树遍历——层序遍历