Redis Centinel--次元管理


前回のブログでは、Redis Sentinelのインストール構成について説明しました.詳細は、リンク:Redis Sentinel--インストール構成を参照してください.今日は主にいくつかの簡単なテストCaseを行います.
Redis Sentinel API
ping      pong
sentinel masters          master   
sentinel master       master   
setntinel slaves    slave   
sentinel sentinels    sentinel   
sentinel get-master-addr-by-name mymaster      master IP Port
sentinel reset *        master-slave  sentinel  
sentinel failover         
sentinel ckquorum    (OK 3 usable Sentinels. Quorum and failover authorization can be reached)
sentinel flushconfig   sentinel.conf  ,                

Sentielの追加
sentinelを追加するのは簡単で、sentinelを直接配置します.confファイルはsentinelを開くだけでいいです.
追加時に1つの追加が終わったら、もう1つ追加したほうがいいです.同時に追加しないで、30秒おきにsentinelを追加することができます.
SENTINEL MASTER masternameのnum-other-sentinelsでsentinelの追加に成功したかどうかを確認します.
[root@sht-sgmhadoopdn-04 redis]# cat sentinel.conf
daemonize yes
port 26379
logfile "sentinel.log"
dir "/usr/local/redis"
protected-mode no
sentinel myid 79393e76e002cb64db92fb8bcb88d79f2d85a82b
sentinel monitor mymaster 172.16.101.59 6379 2

[root@sht-sgmhadoopdn-04 redis]# src/redis-sentinel sentinel.conf

172.16.101.54:26379> sentinel master mymaster
33) "num-other-sentinels"
34) "3"

Sentielの削除
sentinelを削除するのは少し複雑ですが、sentinelは組織と連絡を失っても、すでに存在しているsentinelを削除することはありません.
Step:
(1) Stop the Sentinel process of the Sentinel you want to remove.
(2) Send a SENTINEL RESET * command to all the other Sentinel instances (instead of * you can use the exact master name if you want to reset just a single master). One after the other, waiting at least 30 seconds between instances.
(3) Check that all the Sentinels agree about the number of Sentinels currently active, by inspecting the output of SENTINEL MASTER mastername of every Sentinel.
[root@sht-sgmhadoopdn-04 redis]# ps -ef|grep redis
root     17510     1  0 18:34 ?        00:00:03 src/redis-sentinel *:26379 [sentinel]
[root@sht-sgmhadoopdn-04 redis]# kill -9 17510

他のsentinelノードごとに30 s間隔で実行
172.16.101.54:26379> sentinel reset *
172.16.101.55:26379> sentinel reset *
172.16.101.56:26379> sentinel reset *
172.16.101.54:26379> sentinel master mymaster
33) "num-other-sentinels"
34) "2"

古いmasterまたは使用できないslaveを削除
[root@sht-sgmhadoopdn-01 redis]# ps -ef|grep redis
root     15261     1  0 Aug05 ?        00:05:55 src/redis-server 172.16.101.58:6379
root     19768 19394  0 21:09 pts/2    00:00:00 grep --color=auto redis
[root@sht-sgmhadoopdn-01 redis]# kill -9 15261
172.16.101.54:26379> sentinel masters
   31) "num-slaves"
   32) "2"

各sentinelノードでは、30 s間隔で実行される
172.16.101.54:26379> sentinel reset mymaster
172.16.101.55:26379> sentinel reset mymaster
172.16.101.56:26379> sentinel reset mymaster

172.16.101.54:26379> sentinel masters
   31) "num-slaves"
   32) "1"