栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

redis哨兵部署(redis哨兵最少几台)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

redis哨兵部署(redis哨兵最少几台)

文章目录

1、为什么要使用哨兵模式2、哨兵模式的工作原理3、一主二从三哨兵搭建步骤4、测试该哨兵集群是否可用

1、为什么要使用哨兵模式

主从模式下,主机会自动将数据同步到从机,为了分载Master的读操作压力,Slave服务器可以为客户端提供只读操作的服务,写服务依然必须由Master来完成,实现读写分离。当主服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工干预,费事费力,还会造成一段时间内服务不可用。

2、哨兵模式的工作原理

在主从模式下,redis同时提供了哨兵命令redis-sentinel,哨兵是一个独立的进程,作为进程,它会独立运行。其原理是哨兵进程向所有的redis机器发送命令,等待Redis服务器响应,从而监控运行的多个Redis实例。

哨兵可以有多个,一般为了便于决策选举,使用奇数个哨兵。哨兵可以和redis机器部署在一起,也可以部署在其他的机器上。多个哨兵构成一个哨兵集群,哨兵直接也会相互通信,检查哨兵是否正常运行,同时发现master宕机哨兵之间会进行决策选举新的master。

3、一主二从三哨兵搭建步骤

将redis文件复制三份到redis-sentinel目录下

mkdir redis-sentinel
cd redis-sentinel/
cp -r /opt/redis-6.2.6/ .
mv redis-6.2.6/ redis-6.2.6-5000/

因为我把redis-6.2.6/redis.conf被我复制到了/usr/local/bin/目录下,并进行了修改,并未使用redis-6.2.6/redis.conf,所以需要替换redis.conf文件

cd redis-6.2.6-5000/
rm -f redis.conf
cp -r /usr/local/bin/redis.conf .
cp -r . ../redis-6.2.6-5001/
cp -r . ../redis-6.2.6-5002/

对于主节点(5000)

编辑redis.conf

vi /opt/redis-sentinel/redis-6.2.6-5000/redis.conf
#只需要修改port
port 5000

编辑sentinel.conf

vi /opt/redis-sentinel/redis-6.2.6-5000/sentinel.conf
#修改port
port 26380
#开启守护线程
daemonize yes 
#sentinel monitor    
#master-group-name是集群名称 quorum是需要同意主节点不可用的Sentinel的数量
sentinel monitor mymaster ip 5000 2
#主节点密码
#sentinel auth-pass  
sentinel auth-pass mymaster 主节点密码


对于两个从节点(5001,5002)

编辑redis.conf

#修改port(一个为5001,另一个为5002)
port 5001
#主从复制 replicaof  
replicaof 主节点ip 主节点端口号
#主节点密码 masterauth 
masterauth 主节点密码

编辑sentinel.conf

#修改port(一个为26381,另一个为26382)
port 26381
#开启守护线程
daemonize yes 
#sentinel monitor    
sentinel monitor mymaster ip 5000 2
#主节点密码
sentinel auth-pass mymaster 主节点密码

两个从节点的redis.conf只有端口号不相同,三个sentinel.conf也只有端口号不相同,主节点的redis.conf不需要设置replicaof和masterauth,否则复制自身会报错

4、测试该哨兵集群是否可用

将master,slave,sentinel全都启动起来

 cd /usr/local/bin

master和slave启动方式

./redis-server /opt/redis-sentinel/redis-6.2.6-5000/redis.conf
./redis-server /opt/redis-sentinel/redis-6.2.6-5001/redis.conf
./redis-server /opt/redis-sentinel/redis-6.2.6-5002/redis.conf

sentinel启动方式

./redis-sentinel /opt/redis-sentinel/redis-6.2.6-5000/sentinel.conf 
./redis-sentinel /opt/redis-sentinel/redis-6.2.6-5001/sentinel.conf 
./redis-sentinel /opt/redis-sentinel/redis-6.2.6-5002/sentinel.conf 

主从复制,slave只读,master宕机哨兵决策选举新的master均测试成功,由于测试过程不好呈现,故不在文中列出

Redis关闭指定端口

redis-cli -a 该端口节点密码 -p 端口号 shutdown
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/776153.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号