- PING:返回PONG
- INFO:返回该sentinel各个section的信息
- INFO <section>:返回该sentile某个section的信息,例如 Server,Clients,CPU,Stats,Sentinel
- role:返回sentinel监视的所有的master name
- SENTINEL master <master name>:
获取sentinel 监视的某个 master信息 - SENTINEL masters :列出所有被监视的主服务器,以及这些主服务器的当前状态。
- SENTINEL slaves <master name> :列出给定主服务器的所有从服务器,以及这些从服务器的当前状态。
- SENTINEL sentinels <master-name>:获取sentinel监视的某个master的sentinel 信息
- SENTINEL is-master-down-by-addr <ip> <port> <current-epoch> <runid>:询问该sentinel,该 ip,port的master是否为down状态,如果该sentinel为tilt模式,会不理会这个询问,不去判断该master是否为主观下线状态,直接回复正常状态。
- SENTINEL get-master-addr-by-name <master name> : 返回给定名字的主服务器的 IP 地址和端口号。 如果这个主服务器正在执行故障转移操作, 或者针对这个主服务器的故障转移操作已经完成, 那么这个命令返回新的主服务器的 IP 地址和端口号。
- SENTINEL reset <pattern> : 重置所有名字和给定模式 pattern 相匹配的主服务器。 pattern 参数是一个 Glob 风格的模式。 重置操作清除主服务器目前的所有状态, 包括正在执行中的故障转移, 并移除目前已经发现和关联的, 主服务器的所有从服务器和 Sentinel 。
首先删除关于这个cluster的状态,再重新发现这个集群的状态。
例如节点挂掉之后,sentinel reset之后,就不会在sentinel slaves中看到这个节点,但是挂掉节点起来之后,挂掉节点还是会加入集群,因为挂掉节点的磁盘配置文件中还是有原来的信息。 - SENTINEL failover <master name> : 当主服务器失效时, 在不询问其他 Sentinel 意见的情况下, 强制开始一次自动故障迁移 (不过发起故障转移的 Sentinel 会向其他 Sentinel 发送一个新的配置,其他 Sentinel 会根据这个配置进行相应的更新)。
- SENTINEL moniotr <name> <ip> <port> <quorum>:添加监视的master
- SENTINEL auth-pass <master-name> <password>:如果sentinel监控的主节点设置了密码,sentinel通过以上命令添加主节点的密码
- SENTINEL remove <name>:将监视的为name的master移除监视
- SENTINEL set <mastername> [<option> <value>]:修改监视的master的一些属性
down-after-milliseconds 过了这个时间考虑master go down
failover-timeout 刷新故障转移状态的最大时间
parallel-syncs slave同时reconfigure的个数
notification-script 设置通知脚本
client-reconfig-script 设置通知脚本
auth-pass 执行auth的密码
quorum 修改master的quorum
- client list:列出服务器所有的client的相关信息
- client kill <ip:port>:杀死client
- SENTINEL pending-scripts
- SENTINEL flushconfig:将sentinel信息写入到配置文件中
- SENTINEL ckquorum <name>:
- subscribe,unsubscribe,psubscribe,punsubscribe,publish
- shutdown [nosave|save]
- sentinel down-after-milliseconds
- sentinel failover-timeout
- sentinel parallel-syncs <master-name> <numslaves>
- cluster info:打印集群信息
- cluster nodes:列出集群当前已知的所有节点( node),以及这些节点的相关信息
cluster nodes
命令的输出有点儿复杂, 它的每一行都是由以下信息组成的:
- 节点 ID :例如
3fc783611028b1707fd65345e763befb36454d73
。 -
ip:port
:节点的 IP 地址和端口号, 例如127.0.0.1:7000
, 其中:0
表示的是客户端当前连接的 IP 地址和端口号。 -
flags
:节点的角色(例如master
、slave
、myself
)以及状态(例如fail
,等等)。 - 如果节点是一个从节点的话, 那么跟在
flags
之后的将是主节点的节点 ID : 例如127.0.0.1:7002
的主节点的节点 ID 就是3c3a0c74aae0b56170ccb03a76b60cfe7dc1912e
。 - 集群最近一次向节点发送 PING 命令之后, 过去了多长时间还没接到回复。
- 节点最近一次返回
PONG
回复的时间。 - 节点的配置纪元(configuration epoch):详细信息请参考 Redis 集群规范 。
- 本节点的网络连接情况:例如
connected
。 - 节点目前包含的槽:例如
127.0.0.1:7001
目前包含号码为5960
至10921
的哈希槽。
- cluster meet <ip> <port> :将 ip 和 port 所指定的节点添加到集群当中,让它成为集群的一份子。
- cluster forget <node_id> :从集群中移除 node_id 指定的节点。
- cluster replicate <master_node_id> :将当前从节点设置为 node_id 指定的master节点的slave节点。只能针对slave节点操作。
- cluster saveconfig :将节点的配置文件保存到硬盘里面。
- cluster addslots <slot> [slot ...] :将一个或多个槽( slot)指派( assign)给当前节点。
- cluster delslots <slot> [slot ...] :移除一个或多个槽对当前节点的指派。
- cluster flushslots :移除指派给当前节点的所有槽,让当前节点变成一个没有指派任何槽的节点。
- cluster setslot <slot> node <node_id> :将槽 slot 指派给 node_id 指定的节点,如果槽已经指派给
另一个节点,那么先让另一个节点删除该槽>,然后再进行指派。 - cluster setslot <slot> migrating <node_id> :将本节点的槽 slot 迁移到 node_id 指定的节点中。
- cluster setslot <slot> importing <node_id> :从 node_id 指定的节点中导入槽 slot 到本节点。
- cluster setslot <slot> stable :取消对槽 slot 的导入( import)或者迁移( migrate)。
- cluster keyslot <key> :计算键 key 应该被放置在哪个槽上。
- cluster countkeysinslot <slot> :返回槽 slot 目前包含的键值对数量。
- cluster getkeysinslot <slot> <count> :返回 count 个 slot 槽中的键 。
- config rewrite:当前配置写到磁盘
- config set <option> <value>:设置参数
- slave节点:config set masterauth <password>
- slave节点:config set slave-read-only no
- slave节点:slaveof no one
- master节点:config set requirepass <password>
网友评论