企业Redis生产环境实战哨兵实战

哨兵作战

环境介绍

主机信息

环境配置

系统版本

Centos Version 6.5 ( Final Version )

其他设置

关闭防火墙,关闭SELinux

哨兵概览

总结

Redis - Sentinel是Redis正式推荐的高可用性( HA )解决方案。如果主服务器关闭,Redis本身(包括其许多客户端)不会自动在主服务器和备用服务器之间切换,Redis - sentine本身是一个独立的进程,可以监控多个主服务器-从服务器集群,并在主服务器关闭时自动切换。

其主要职能如下:

不时监测Redis是否按预期运行。

如果发现Redis节点正在运行,它可以通知另一个进程(例如其客户端);

可以执行自动切换。当主节点不可用时,主节点的多个从节点中的一个(如果有多个从节点)可以被选为新的主节点,而其他从节点将把它所遵循的主节点的地址改变为升级为主节点的从节点的新地址。

哨兵支持集群

显然,仅仅使用一个监控程序来监控Redis集群是不可靠的。当Sentinel进程停止时( Sentinel本身有一个单点问题),整个集群系统将无法正常运行。因此,有必要对Sentinel进行集群,这有几个好处:

即使一些监控过程被延迟,Redis集群的主/备用切换仍然可以进行;

如果只有一个Sentinel进程,如果该进程运行不正确或者网络被阻塞,Redis集群的主备切换将是不可能的(单点问题);

如果有多个哨兵,Redis客户端可以随意连接任何哨兵,以获取有关Redis集群的信息。

Sentinel Sentinel的作用是为Redis单一主从环境提供一个高度可用的解决方案。

哨兵的配置实践

注意:如第一章所述,Sentinel Sentinel为Redis单主从环境提供了一个高度可用的解决方案,因此在配置Sentinel Sentinel之前,必须配置Redis单主从环境!

1。启动Redis主从复制环境

192 . 168 . 139 . 71主图书馆

CD / usr / local / redis - 3 . 2 . 0 / bin /

。/ redis服务器-我...。/ conf / redis . conf文件

给| grep再贴现公司的信

图书馆的192 . 168 . 139 . 72

CD / usr / local / redis - 3 . 2 . 0 / bin /

。/ redis服务器-我...。/ conf / redis . conf文件

给| grep再贴现公司的信

图书馆的192 . 168 . 139 . 73

CD / usr / local / redis - 3 . 2 . 0 / bin /

。/ redis服务器-我...。/ conf / redis . conf文件

给| grep再贴现公司的信

2。修改哨兵配置文件

CD / usr / local / redis - 3 . 2 . 0 / conf /

Sentinel

Sentry

Forest Sentinel Conference

mkdir / data / redis 26379 - PV #哼哼哼御天敌在哪里唉哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟,伊鲁基奥" usr / local / redis - 3 . 2 . 0 / conf / sentinel . conf "绿筠“dir / data / redis 26379”

Sentry report

查看新生成的哨兵。配置并添加3个附加配置

注意: Sentinel Parallel - sync我的主服务器1暂时不使用。签字!

参数描述:

Port 23791 # Sentinel Monitor Port

哨兵监视我的主人192 . 168 . 139 . 71 6379 2 #主人,“我的主人”是哨兵的名字,可以自己定义;“192 . 168 . 139 . 71”是收听Redis主图书馆的IP;“6379”是Redis监听端口;最后一个参数“2”应该超过一半的主设备和从设备,最好是N - 1!

“毫秒后下哨”My Master 5000 #确定主主机的挂机时间(毫秒),并在超时未返回正确信息后将其标记为S Down

Sentinel故障切换-超时我的主设备60000 #如果Sentinel未能在配置值内完成故障切换操作(即主设备/从设备在故障时自动切换),则认为此故障切换失败。

Sentry authentication passed my master's 123 # identity authentication

Sentinel Parallel - sync My Master 1 #选项指定在执行故障切换时,有多少从属服务器可以同时同步新的主服务器。数量越少,完成故障切换所需的时间越长。此配置禁用了此参数!

DAEMONIZE YES #是下一个程序的默认运行模式

受保护模式no #非受保护操作模式

日志文件。日志" #修改默认日志文件的生成位置

将配置文件发送到另一台服务器

192个。168号房。139个。72 : / usr / local / redis - 3。2个。0 / conf /

192个。168号房。139个。73 : / usr / local / redis - 3。2个。0 / conf /

3 .启动哨兵(所有节点)

CD / usr / local / redis - 3 . 2 . 0 / bin /

。/ redis哨兵-我...。/ conf /御天敌. conf

给| grep再贴现公司的信

192 . 168 . 139 . 71哨兵成功启动!

192 . 168 . 139 . 72哨兵启动成功!

192 . 168 . 139 . 73哨兵成功启动!

注意:如果设备配置不良,需要一段时间才能看到”。/ Redis - Sentinel * : 26379 [ Sentinel ]“这个过程,只有这些才能在开始时看到!

这意味着哨兵仍在启动!

哨兵开关实验验证配置

哨兵的简单命令

1。登录到哨兵的命令行模式

。/ redis - CLI - h 192 . 168 . 139 . 71 - a 123 - p 26379 #“26379”注意到此端口是哨兵的港口,不要再重复“6379”

2。查看哨兵状态信息

1 ) information sentry

查看哨兵监控的主信息(缩写)

参数描述:

Master 0: Name = Master, Status = OK, Address = 192.168.139.71: 6379, Slave = 2, Sentry = 3

Master 0 :第一个哨兵的主人,一个哨兵集群可以监控多组Redis主从数据库!

Name = My Master: Name of Sentinel Cluster

Status = OK: Status of Sentinel Cluster

地址= 192 . 168 . 139 . 71 : 6379 :监视REDIS主从数据库的主库IP

从属= 2 :监视Redis主从复制从属库的数量

哨兵= 3 :哨兵群中的节点数

2 ) Captain Sentry

查看哨兵监控的所有主信息

3 ) Sentinels Sentry My Master

显示此主服务器的所有从属节点

哨兵的切换验证

1。看看现在Redis的主图书馆: 192 . 168 . 139 . 71

Information sentry

2。取消主库的Redis过程

给| grep再贴现公司的信

kill - 9 2133

没有Redis主库流程

3 .登录到Sentinel命令行并查看Sentinel信息

。/ redis - CLI h 192 . 168 . 139 . 71 - a123 pe26379

Information sentry

主图书馆已转移到“192 . 168 . 139 . 72”!

4。登录192 . 168 . 139 . 72查看信息

。/ redis - CLI h 192 . 168 . 139 . 72 - a123 pe6379

Information duplication

192 . 168 . 139 . 72已经从二级库升级到一级库!

5 .登录192 . 168 . 139 . 73查看信息

。/ redis - CLI h 192 . 168 . 139 . 73 - a123 pe6379

Information duplication

192 . 168 . 139 . 72还在图书馆!

6 .在192 . 168 . 139 . 71开始再贴现过程

。/ redis服务器-我...。/ conf / redis . conf文件

给| grep再贴现公司的信

7。在192 . 168 . 139 . 71查看哨兵信息

。/ redis - CLI h 192 . 168 . 139 . 71 - a123 pe26379

Information sentry

目前,Redis的主要图书馆仍然是192 . 168 . 139 . 72

结论是:默认情况下,失败的主库将恢复运行,不会占据新的主库位置,而是作为从库运行!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181026A1EYZI00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券