Redis集群搭建

Redis集群搭建

一、配置Redis服务

a.官网下载Redis安装包 找到redis.windows-service.conf 调整相关端口 密码 绑定地址配置【配置RedisMaster库】

b.找到redis.windows-service.conf 调整相关端口 密码 绑定地址 添加slaveof [主库地址] [主库端口]配置【配置Slave库】

c.添加Redis哨兵服务配置 
新建一个.conf文件添加如下信息
port 63791          //哨兵端口号
dir “C:\\Program Files\\Redis3.2\\16356” //哨兵日志文件夹
bind 192.168.1.62                                    //哨兵绑定的内网地址
logfile “sentinel-16356.log”                      //哨兵日志文件名称

sentinel myid 4b70680022758964daae31fc43f6186b0ed4cf32 //哨兵实例ID
sentinel monitor mymaster 192.168.1.62 6379 2 //监控主master,当2个sentinel选举成功后才有效
sentinel down-after-milliseconds master-1 5000 //判断主master的挂机时间(毫秒),超时未返回正确信息后标记为sdown状态

sentinel failover-timeout master-1 18000 //若sentinel在该配置值内未能完成failover操作(即故障时master/slave自动切换),则认为本次failover失败。
sentinel auth-pass master-1 grs //身份认证
sentinel parallel-syncs master-1 1 //选项指定了在执行故障转移时, 最多可以有多少个从服务器同时对新的主服务器进行同步,这个数字越小,完成故障转移所需的时间就越长
Redis集群搭建

二、Redis服务安装与卸载

打开CMD控制台,进入C:\Program Files\Redis3.2>目录,运行命令:
1.redis-server.exe –service-install redis6382.conf –service-name redis6382【安装】
2.redis-server.exe –service-uninstall –service-name redis6811【卸载】
3.redis-server –service-install redis-sentinel17355.conf –sentinel –service-name redis-sentinel17355 【安装哨兵】
4.redis-server.exe –service-uninstall –service-name redis6811-sentinel  –sentinel【卸载哨兵】

三、sentinel运行机制

 Redis集群搭建

 

Sentinel会不断地检查你的主服务器和从服务器是否运作正常。当某个节点故障后,Sentinel 会开始一次自动故障迁移操作, 它会将失效主服务器的其中一个从服务器升级为新的主服务器, 并让失效主服务器的其他从服务器改为复制新的主服务器; 当客户端试图连接失效的主服务器时, 集群也会向客户端返回新主服务器的地址, 使得集群可以使用新主服务器代替失效服务器。

四、sentinel 总结

作用:
a:Master 状态监测

b:如果Master 异常,则会进行Master-slave 转换,将其中一个Slave作为Master,将之前的Master作为Slave 
c:Master-Slave切换后,master_redis.conf、slave_redis.conf和sentinel.conf的内容都会发生改变,即master_redis.conf中会多一行slaveof的配置,sentinel.conf的监控目标会随之调换 

工作方式:
a:每个Sentinel以每秒钟一次的频率向它所知的Master,Slave以及其他 Sentinel 实例发送一个 PING 命令 
b:如果一个实例(instance)距离最后一次有效回复 PING 命令的时间超过 down-after-milliseconds 选项所指定的值, 则这个实例会被 Sentinel 标记为主观下线。 
c:如果一个Master被标记为主观下线,则正在监视这个Master的所有 Sentinel 要以每秒一次的频率确认Master的确进入了主观下线状态。 
d:当有足够数量的 Sentinel(大于等于配置文件指定的值)在指定的时间范围内确认Master的确进入了主观下线状态, 则Master会被标记为客观下线 
e:在一般情况下, 每个 Sentinel 会以每 10 秒一次的频率向它已知的所有Master,Slave发送 INFO 命令 
f:当Master被 Sentinel 标记为客观下线时,Sentinel 向下线的 Master 的所有 Slave 发送 INFO 命令的频率会从 10 秒一次改为每秒一次 
g:若没有足够数量的 Sentinel 同意 Master 已经下线, Master 的客观下线状态就会被移除。若 Master 重新向 Sentinel 的 PING 命令返回有效回复, Master 的主观下线状态就会被移除。

注意事项:
a:哨兵数量最佳个数应是奇数,当master产生故障时 投票数若出现平等会导致master混乱
 

转载于:https://www.cnblogs.com/tx720/p/9882828.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101340.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • httprunner(11)运行测试报告「建议收藏」

    httprunner(11)运行测试报告「建议收藏」前言受益于pytest的集成,HttpRunnerv3.x可以使用pytest所有插件,包括pytest-html和allure-pytest,也可以实现这2种方式的报告内置html报告pyt

    2022年7月31日
    5
  • Esp8266进阶之路⑨ 【小实战上篇】Windows系统搭建8266的本地Mqtt服务器,局域网点亮一盏LED灯。(带Demo)「建议收藏」

    Esp8266进阶之路⑨ 【小实战上篇】Windows系统搭建8266的本地Mqtt服务器,局域网点亮一盏LED灯。(带Demo)「建议收藏」本系列博客学习由非官方人员半颗心脏潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途。如有不对之处,请留言,本人及时更改。1、Esp8266之搭建开发环境,开始一个“hellowworld”串口打印。2、Esp8266之利用GPIO开始使用按钮点亮你的“第一盏灯”。3、Esp8266之利用“软件定时器”定时0.5秒闪烁点亮一盏LED。4、Esp8266之了解P

    2022年5月28日
    34
  • Linux抓包命令tcpdump「建议收藏」

    Linux抓包命令tcpdump「建议收藏」tcpdump是一个抓包工具,用于抓取互联网上传输的数据包tcpdump是一个用于截取网络分组,并输出分组内容的工具。凭借强大的功能和灵活的截取策略,使其成为类UNIX系统下用于网络分析和问题排查的首选工具tcpdump支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息#常用选项-i#监听哪一个网卡-n #不把ip解析成主机名-nn #不把端口解析成应用层协议-c #指定抓包的数量-S #不把随机序

    2022年6月29日
    40
  • mysql读写分离延迟_解决Mysql读写分离数据延迟[通俗易懂]

    mysql读写分离延迟_解决Mysql读写分离数据延迟[通俗易懂]使用MySQLProxy解决MySQL主从同步延迟MySQL的主从同步机制非常方便的解决了高并发读的应用需求,给Web方面开发带来了极大的便利。但这种方式有个比较大的缺陷在于MySQL的同步机制是依赖Slave主动向Master发请求来获取数据的,而且由于服务器负载、网络拥堵等方面的原因,Master与Slave之间的数据同步延迟是完全没有保证的。短在1秒内,长则几秒、几十秒甚至更长都有可能。…

    2022年5月1日
    70
  • 2021年 pycharm 2021.4.23 最新激活码【在线破解激活】

    2021年 pycharm 2021.4.23 最新激活码【在线破解激活】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
    66
  • java实现xml文件CRUD

    java实现xml文件CRUD

    2021年12月31日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号