- Sentinel 集群部署
- 新增一套 Redis 主从 IP角色192.168.1.67redis-01-主192.168.1.167redis-02-从
手动添加指定<master name>节点的监控(需要在每个sentinel节点执行)
代码语言:javascript复制redis-cli -p 26379
127.0.0.1:26379> sentinel monitor test 192.168.1.67 6379 2
刚才新增的节点,slaves=0,是因为在redis.conf中设置了密码,redis-sentinel.conf中也要设置密码
vim /etc/redis-sentinel.conf
每个sentinel节点都要配置,然后重启每个sentinel服务
取消指定<master name>节点的监控(需要在每个sentinel节点执行)
代码语言:javascript复制redis-cli -p 26379
127.0.0.1:26379> sentinel remove test
查看指定主节点状态信息
代码语言:javascript复制127.0.0.1:26379> sentinel master test
1) "name"
2) "test"
3) "ip"
4) "192.168.1.67"
5) "port"
6) "6379"
7) "runid"
8) "e41042380e038e28ee3bdb76e0d212eaaabf2491"
9) "flags"
10) "master"
11) "pending-commands"
12) "0"
13) "last-ping-sent"
14) "0"
15) "last-ok-ping-reply"
16) "489"
17) "last-ping-reply"
18) "489"
19) "down-after-milliseconds"
20) "30000"
21) "info-refresh"
22) "4873"
23) "role-reported"
24) "master"
25) "role-reported-time"
26) "235678"
27) "config-epoch"
28) "0"
29) "num-slaves"
30) "1"
31) "num-other-sentinels"
32) "2"
33) "quorum"
34) "2"
35) "failover-timeout"
36) "180000"
37) "parallel-syncs"
38) "1"
查看指定从节点状态信息
代码语言:javascript复制127.0.0.1:26379> sentinel slaves test
1) 1) "name"
2) "192.168.1.167:6379"
3) "ip"
4) "192.168.1.167"
5) "port"
6) "6379"
7) "runid"
8) "ea5e325c52977ebd7d0fba2953d29fc6f2abac68"
9) "flags"
10) "slave"
11) "pending-commands"
12) "0"
13) "last-ping-sent"
14) "0"
15) "last-ok-ping-reply"
16) "878"
17) "last-ping-reply"
18) "878"
19) "down-after-milliseconds"
20) "30000"
21) "info-refresh"
22) "6544"
23) "role-reported"
24) "slave"
25) "role-reported-time"
26) "347755"
27) "master-link-down-time"
28) "0"
29) "master-link-status"
30) "ok"
31) "master-host"
32) "192.168.1.67"
33) "master-port"
34) "6379"
35) "slave-priority"
36) "100"
37) "slave-repl-offset"
38) "325349"
查看指定的sentinel节点信息(不包含当前sentinel节点信息)
代码语言:javascript复制127.0.0.1:26379> sentinel sentinels test
1) 1) "name"
2) "192.168.1.94:26379"
3) "ip"
4) "192.168.1.94"
5) "port"
6) "26379"
7) "runid"
8) "38969a5853bf3d1e6edf730c171af0590329c9ba"
9) "flags"
10) "sentinel"
11) "pending-commands"
12) "0"
13) "last-ping-sent"
14) "0"
15) "last-ok-ping-reply"
16) "321"
17) "last-ping-reply"
18) "321"
19) "down-after-milliseconds"
20) "30000"
21) "last-hello-message"
22) "262"
23) "voted-leader"
24) "?"
25) "voted-leader-epoch"
26) "0"
2) 1) "name"
2) "192.168.1.58:26379"
3) "ip"
4) "192.168.1.58"
5) "port"
6) "26379"
7) "runid"
8) "86db07d703d1d71657dc826e90afc146e1f5345e"
9) "flags"
10) "sentinel"
11) "pending-commands"
12) "0"
13) "last-ping-sent"
14) "0"
15) "last-ok-ping-reply"
16) "321"
17) "last-ping-reply"
18) "321"
19) "down-after-milliseconds"
20) "30000"
21) "last-hello-message"
22) "470"
23) "voted-leader"
24) "?"
25) "voted-leader-epoch"
26) "0"
查看指定主节点的IP和端口
代码语言:javascript复制127.0.0.1:26379> sentinel get-master-addr-by-name test
1) "192.168.1.67"
2) "6379"
重置主节点的配置,包含清除主节点的相关状态(例如故障转移),重新发现从节点和Sentinel节点
代码语言:javascript复制127.0.0.1:26379> sentinel reset test
对指定<master name>主节点强制故障转移