Sentinel配置及部署

一、sentinel.conf 

1 port 26379
2 dir /opt/redis-3.0.7/dataSentinel
3 sentinel monitor mymaster 192.168.1.157 6379 2
4 sentinel down-after-milliseconds mymaster 30000
5 sentinel parallel-syncs mymaster 1
6 sentinel failover-timeout mymaster 180000
7 daemonize yes

 

二、配置文件说明

1、port:当前 sentinel 服务运行的端口为 26379

2、dir:Sentinel服务运行时使用的临时文件夹为 /opt/redis-3.0.7/dataSentinel

3、sentinel monitor mymaster 195.168.1.157 6379 2

  1)表示 sentinel 监视一个名为 mymaster 的 redis 主实例,主实例IP地址为 195.168.1.157,端口为 6379

  2)行末尾的“2”用于 sentinel 集群,当集群中有2个 sentinel 认为 master 宕掉时才会认定该 master 不可用

除了上述配置外我们发现接下来的配置项都依据如下格式

   sentinel <option_name> <master_name> <option_value>

4、sentinel down-after-milliseconds mymaster 30000

  1)sentinel 会向 master 发送心跳 PING 来确认 master 是否存活,如果 maste r在“一定时间范围”内不回应 PONG 或者是回复了一个错误消息,那么这个 sentinel 会主观地(单方面地)认为这个 master 已经不可用了( subjectively down , 简称为 SDOWN )而这个 down-after-milliseconds 就是用来指定这个“一定时间范围”的,单位是毫秒

  2)需要注意的是,这个时候 sentinel 并不会马上进行 failover 主备切换,这个 sentinel 还需要参考集群中其他 sentinel 的意见,如果超过某个数量的 sentinel 也主观地认为该 master 死了,那么这个 master 就会被客观地(objectively down,简称为 ODOWN)认为已经死了,需要一起做出决定的 sentinel 数量在上一条配置中进行配置

5、sentinel parallel-syncs mymaster 1

  1)在发生failover主备切换时,这个选项指定了最多可以有多少个 slave 同时对新的 master 进行同步,这个数字越小,完成 failover 所需的时间就越长,但是如果这个数字越大,就意味着越多的 slave 因为 replication 而不可用。可以通过将这个值设为 1 来保证每次只有一个slave处于不能处理命令请求的状态。

6、sentinel failover-timeout mymaster 180000

  1)如果在该时间(毫秒)内未能完成failover操作,则认为该failover失败

7、daemonize yes

  1)后台运行

 

三、部署及运行

1、将 sentinel.conf 拷贝到各主从节点的 redis 目录下,我的在 /opt/redis-3.0.7

2、进入 /opt/redis-3.0.7/src 执行 ./redis-sentinel /opt/redis-3.0.7/sentinel.conf 启动(启动的前提是各redis主从节点均已正常启动)

 

四、验证

主节点:192.168.1.157

从节点:192.168.1.158、192.168.1.159

1、master 节点

  1)info

  

  2)sentinel.conf

  

2、slave节点(截图时主节点已经通过 sentinel 转换为158,正常情况图中 master 地址应为192.168.1.157)

  1)info

  

  2)sentinel.conf

  

 

五、总结

  在编辑验证部分前已经通过对157虚拟机掉电测试,158成功被转换成master角色。

  关闭 sentinel 可执行 ./redis-cli -p 26379 shutdown

 

 

  

 

转载于:https://www.cnblogs.com/MIC2016/p/6378023.html

在UAT环境和生产环境中,一般要求以哨兵(sentinel)模式部署。哨兵模式是一种常见的部署方式,而Cluster模式则主要用于规模较大的应用场景,对于一般的情况而言使用Cluster模式会增加复杂度。在sentinel模式下,需要配置多个项,包括至少一个Master的配置和一个或多个Slave的配置。 如果想要开启feign对Sentinel的支持,可以通过配置文件设置"feign.sentinel.enabled=true"。 Sentinel配置环境方面有以下几个要点: 1. 查看机器列表以及机器的健康情况:这是通过收集Sentinel客户端发送的心跳包来实现的,用于判断机器是否在线。 2. 监控:Sentinel通过客户端暴露的监控API,定期拉取并聚合应用的监控信息,实现秒级的实时监控。 3. 规则管理和推送:Sentinel可以统一管理和推送规则。 4. 鉴权:在生产环境中,鉴权非常重要。每个开发者需要根据实际情况定制鉴权规则。 要启动Sentinel控制台,需要确保安装了JDK 1.8及以上版本,然后使用以下命令启动Sentinel控制台: ```shell java -Dserver.port=8094 -Dcsp.sentinel.dashboard.server=localhost:8094 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.8.0.jar ``` 如果没有权限,可以使用以下命令给jar包设置权限: ```shell chmod 777 sentinel-dashboard-1.8.0.jar ``` 通过以上配置,你可以登录Sentinel控制台进行配置环境。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Redis及Sentinel配置自动化工具](https://download.csdn.net/download/laotian/11612392)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Sentinel配置使用](https://blog.csdn.net/Andrew0219/article/details/126105709)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值