redis sentinelクラスタ構成

3980 ワード

本明細書ではredis 2.8.24のバージョンを使用します.
1.テスト環境
master:   192.168.136.130 6379
slave1:    192.168.136.130 6479
slave2:    192.168.136.130 6579
master-sentinel: 192.168.136.130 26379
slave1-sentinel: 192.168.136.130 26479
slave2-sentinel: 192.168.136.130 26579

2.ダウンロードインストール
 アドレス:http://www.redis.io 
#  
tar zxf redis-2.8.24.tar.gz
cd redis-2.8.24
make && make install
#                ;
 yum install  -y gcc makc

3.試験環境の構成
cd /usr/local
mkdir redis_cluster
mkdir redis_cluster/master_6379
mkdir redis_cluster/slave_6479
mkdir redis_cluster/slave_6579

 redisの設定
  1) master
cp -f /usr/local/src/redis-2.8.24/redis.conf /usr/local/redis_cluster/master_6379/redis.conf
cp -f /usr/local/src/redis-2.8.24/sentinel.conf /usr/local/redis_cluster/master_6379/6379_sentinel.conf

 master_6379/redis.confは以下のように変更されました.
daemonize yes  port 6379  
requirepass 123456        
masterauth  123456  
appendonly no  save ""  
slave-read-only yes

 6379_sentinel.confは以下のように変更されました.
port 26379  
sentinel monitor mymaster 192.168.136.130 6379 2  
sentinel auth-pass mymaster 123456  
sentinel down-after-milliseconds mymaster 30000  
sentinel parallel-syncs mymaster 1  
sentinel failover-timeout mymaster 900000

 2)slave1
cp -f /usr/local/src/redis-2.8.24/redis.conf /usr/local/redis_cluster/slave_6479/redis.conf
cp -f /usr/local/src/redis-2.8.24/sentinel.conf /usr/local/redis_cluster/slave_6479/6479_sentinel.conf

 slave_6479/redis.confは以下のように変更されました.
daemonize yes  
port 6479  
requirepass 123456         
masterauth  123456  
appendonly no  save ""  
slave-read-only yes  
slaveof 192.168.136.130 6379

 6479_sentinel.confは以下のように変更されました.
port 26479  
sentinel monitor mymaster 192.168.136.130 6379 2  
sentinel auth-pass mymaster 123456  
sentinel down-after-milliseconds mymaster 30000  
sentinel parallel-syncs mymaster 1  
sentinel failover-timeout mymaster 900000

 3)slave2
cp -f /usr/local/src/redis-2.8.24/redis.conf /usr/local/redis_cluster/slave_6579/redis.conf
cp -f /usr/local/src/redis-2.8.24/sentinel.conf /usr/local/redis_cluster/slave_6579/6579_sentinel.conf

 slave_6579/redis.confは以下のように変更されました.
daemonize yes  
port 6579  
requirepass 123456         
masterauth  123456  
appendonly no  save ""  
slave-read-only yes  
slaveof 192.168.136.130 6379

 6479_sentinel.confは以下のように変更されました.
port 26579  
sentinel monitor mymaster 192.168.136.130 6379 2  
sentinel auth-pass mymaster 123456  
sentinel down-after-milliseconds mymaster 30000  
sentinel parallel-syncs mymaster 1  
sentinel failover-timeout mymaster 900000

4.クラスタの起動
注意:sentinel環境を初めて構築する場合は、まずmasterを起動する必要があります.
#  master master-sentinel: 
redis-server /usr/local/redis_cluster/master_6379/redis.conf 
redis-sentinel /usr/local/redis_cluster/master_6379/6379_sentinel.conf

セッションをクローンし、slave 1とslave 1-sentinelを起動します. 
redis-server /usr/local/redis_cluster/slave_6479/redis.conf 
redis-sentinel /usr/local/redis_cluster/slave_6479/6479_sentinel.conf

セッションをクローンし、slave 2とslave 2を起動します.sentinel: 
redis-server /usr/local/redis_cluster/slave_6579/redis.conf 
redis-sentinel /usr/local/redis_cluster/slave_6579/6579_sentinel.conf

マスターのステータスを表示するには、次の手順に従います. 
redis-cli -h 192.168.136.130 -p 6379 
#      
info replication

5.テスト
 1)マスターダウンタイム
 結果:masterがダウンタイムした後、sentinelクラスタはslaveクラスタの中でmasterとしてサービスを継続するために1台を選択します.
 2)マスター・リカバリ
 結果:以前のmasterが正常に戻った後、redisクラスタに加入し、階級はslaveとなった.
 3)slaveダウンタイム
 結果:slaveはmasterに影響しなかった.
参照 http://blog.csdn.net/wtyvhreal/article/details/46517483