Redis哨兵系列文章目录
Sentinel命令
常用命令
登录Sentinel客户端执行的命令。
Sentinel 常用命令:
• PING :返回 PONG 。
• SENTINEL masters :列出所有被监视的主服务器,以及这些主服务器的当前状态。
• SENTINEL slaves :列出给定主服务器的所有从服务器,以及这些从服务器的当前状态。
• SENTINEL get-master-addr-by-name : 返回给定名字的主服务器的 IP 地址和端口号。 如果这个主服务器正在执行故障转移操作, 或者针对这个主服务器的故障转移操作已经完成, 那么这个命令返回新的主服务器的 IP 地址和端口号。
• SENTINEL reset : 重置所有名字和给定模式 pattern 相匹配的主服务器。 pattern 参数是一个 Glob 风格的模式。 重置操作清除主服务器目前的所有状态, 包括正在执行中的故障转移, 并移除目前已经发现和关联的, 主服务器的所有从服务器和 Sentinel 。
• SENTINEL failover : 当主服务器失效时, 在不询问其他 Sentinel 意见的情况下, 强制开始一次自动故障迁移 (不过发起故障转移的 Sentinel 会向其他 Sentinel 发送一个新的配置,其他 Sentinel 会根据这个配置进行相应的更新)。
• ACL(>=6.2)此命令管理Sentinel访问控制列表。有关更多信息,请参阅ACL文档页面和Sentinel访问控制列表验证。
• AUTH(>=5.0.1)对客户端连接进行身份验证。有关更多信息,请参阅AUTH命令和配置带有身份验证的Sentinel实例部分。
• CLIENT此命令管理客户端连接。有关详细信息,请参阅其子命令页面。
• COMMAND(>=6.2)此命令返回有关命令的信息。有关详细信息,请参阅COMMAND命令及其各种子命令。
• HELLO(>=6)切换连接的协议。有关详细信息,请参阅HELLO命令。
• INFO返回有关Sentinel服务器的信息和统计信息。有关更多信息,请参阅INFO命令。
• PING此命令只返回PONG。
• ROLE此命令返回字符串“sentinel”和受监控主机的列表。
• SHUTDOWN关闭Sentinel实例。
其他命令
SENTINEL CONFIG GET<name>(>=6.2)
获取全局SENTINEL配置参数的当前值。指定的名称可以是通配符,类似于Redis CONFIG GET命令。
SENTINEL CONFIG SET<name><value>(>=6.2)
设置全局SENTINEL配置参数的值。
SENTINEL CKQUORUM<master name>
检查当前SENTINEL配置是否能够达到故障转移主机所需的仲裁,以及授权故障转移所需的多数仲裁。该命令应在监控系统中使用,以检查Sentinel部署是否正常。
SENTINEL FLUSHCONFIG
强制SENTINEL在磁盘上重写其配置,包括当前的SENTINEL状态。通常情况下,每当状态发生变化时,Sentinel都会重写配置(在重新启动时保留在磁盘上的状态子集的上下文中)。但是,有时配置文件可能会因为操作错误、磁盘故障、包升级脚本或配置管理器而丢失。在这些情况下,强制Sentinel重写配置文件的方法很方便。即使以前的配置文件完全丢失,此命令也能工作。
SENTINEL FAILOVER<master name>
强制进行故障切换,就好像无法访问主机一样,并且不要求与其他SENTINEL达成一致(但是,将发布新版本的配置,以便其他Sentinels更新其配置)。
1.不会与其他Sentinel进行协商;
2.转移完成后会通知其他Sentinel节点(根据转移结果进行更新);
SENTINEL GET-MASTER-ADDR-BY-NAME<MASTER NAME>
返回具有该名称的主机的ip和端口号。如果此主机的故障转移正在进行或已成功终止,它将返回升级的复制副本的地址和端口。
SENTINEL INFO-CACHE(>=3.2)
从主控和副本返回缓存的INFO输出。
SENTINEL IS-MASTER-DOWN-BY-ADDR
检查ip:port指定的主机是否从当前SENTINEL的角度关闭。此命令主要用于内部使用。
1) 为*时,Sentinel节点直接交换对主节点下线的判断;
2) 为运行ID时,Sentinel节点希望其他Sentinel节点投票自己成为领导者Sentinel(运行ID为Sentinel的运行ID)
3) 返回值由以下3个参数构成:
返回参数说明
1. down_state 0:代表Redis主节点仍在线 ;1:代表Redis主节点已下线
2. leader_runid *:不同意做为领导者运行;Sentinel ID:该运行ID代表的Sentinel同意
3. leader_epoch 领导者
SENTINEL MASTER<MASTER name>
显示指定主机的状态和信息。
SENTINEL MASTERS
显示受监控主机及其状态的列表。
SENTINEL MONITOR
启动SENTINEL的监控。
SENTINEL MYID(>=6.2)
返回SENTINEL实例的ID。
SENTINEL PENDING-SCRIPTS
此命令返回有关挂起脚本的信息。
SENTINEL REMOVE
停止哨兵的监控。
SENTINEL REPLICAS<master name>(>=5.0)
显示此master的副本列表及其状态。老版本可以用SENTINEL SENTINELS <master name>
SENTINEL SENTINELS<master name>
显示此master的SENTINEL实例及其状态的列表。
SENTINEL SET
设置SENTINEL的监控配置。
SENTINEL SIMULATE-FAILURE(选举后崩溃|晋升后崩溃|帮助)(>=3.2)
此命令模拟不同的SENTINEL崩溃场景。
SENTINEL RESET<pattern>
此命令将重置具有匹配名称的所有主机。模式参数是glob样式的模式。重置过程会清除主机中以前的任何状态(包括正在进行的故障转移),并删除已发现并与主机关联的每个复制副本和哨兵。