レディマシンの多例主従+ホイッスルモード

10283 ワード

生産環境では、Redisのホイッスルモードを使いたいなら、Redisの2.8バージョン以降のバージョンを使うようにします.主従モードであれ、ホイッスルモードであれ、この二つのモードには一つの問題があり、水平拡張できず、この二つのモードの利用可能性の高い特性はマスターノードメモリによって制限されます.もう一つのポイントは、歩哨モードの配置を実現するのも簡単ではなく、むしろ多少煩雑であるとも言えるので、工業シーンではこの二つのパターンは使用を勧めないです.もし使うなら、関連の問題がある解決案が必要です.これから持ってくる問題を避けるために.インストール手順:インストールパッケージをダウンロードする:
[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# wget http://download.redis.io/releases/redis-5.0.2.tar.gz
インストール依存
[root@localhost src]# yum -y install gcc gcc-c++
解凍インストール
[root@localhost src]# tar zxf redis-5.0.2.tar.gz 
[root@localhost src]# cd redis-5.0.2
[root@localhost redis-5.0.2]# make MALLOC=libc && make install
redisを設定します.
[root@localhost redis-5.0.2]# cp redis.conf /etc/redis_6379.conf
[root@localhost redis-5.0.2]# cp redis.conf /etc/redis_6380.conf
[root@localhost redis-5.0.2]# cp redis.conf /etc/redis_6381.conf
設定ファイルを変更
#========= ============
[root@localhost redis-5.0.2]# vim /etc/redis_6379.conf
-----------------------------------------
bind 192.168.33.143      #IP   
daemonize yes            #    
port 6379		         #   
-----------------------------------------
#========== ===========
[root@localhost redis-5.0.2]# vim /etc/redis_6380.conf
----------------------------------------
bind 192.168.33.143     #IP  
daemonize yes      	#    
port 6380				#   
pidfile /var/run/redis_6380.pid
replicaof 192.168.33.143 6379  #    IP      
replica-priority 100    #   
----------------------------------------
[root@localhost redis-5.0.2]# vim /etc/redis_6381.conf
---------------------------------------
bind 192.168.33.143     #IP  
daemonize yes      	#    
port 6381				#   
pidfile /var/run/redis_6381.pid
replicaof 192.168.33.143 6379  #    IP      
replica-priority 90    #   
---------------------------------------
オープンサービス
[root@localhost ~]# redis-server /etc/redis_6379.conf
[root@localhost ~]# redis-server /etc/redis_6380.conf
[root@localhost ~]# redis-server /etc/redis_6381.conf
#    
[root@localhost ~]# netstat -anpt |grep 63
テストの主従
[root@localhost ~]# redis-cli -p 6379 -h 192.168.33.143
192.168.33.143:6379> set ljh 888
OK
192.168.33.143:6379> exit
ノードからkeyの値を抽出する
[root@localhost ~]# redis-cli -p 6380 -h 192.168.33.143
192.168.33.143:6380> get ljh
"888"
哨兵モードを設定
[root@localhost ~]# cd /usr/local/src/redis-5.0.2
[root@localhost redis-5.0.2]# cp sentinel.conf /etc/sentinel_26379.conf
[root@localhost redis-5.0.2]# cp sentinel.conf /etc/sentinel_26380.conf
[root@localhost redis-5.0.2]# cp sentinel.conf /etc/sentinel_26381.conf
設定ファイルを変更
#========== ==============
[root@localhost redis-5.0.2]# vim /etc/sentinel_26379.conf
-------------------------
bind 127.0.0.1 192.168.33.143
port 26379
daemonize yes
pidfile /var/run/redis-sentinel_26379.pid
sentinel monitor mymaster 192.168.33.143 6379 2
--------------------------
#========== ==============
[root@localhost redis-5.0.2]# vim /etc/sentinel_26380.conf 
-------------------------
bind 127.0.0.1 192.168.33.143
port 26380
daemonize yes
pidfile /var/run/redis-sentinel_26380.pid
sentinel monitor mymaster 192.168.33.143 6379 2
-------------------------
[root@localhost redis-5.0.2]# vim /etc/sentinel_26381.conf
-------------------------
bind 127.0.0.1 192.168.33.143
port 26381
daemonize yes
pidfile /var/run/redis-sentinel_26381.pid
sentinel monitor mymaster 192.168.33.143 6379 2
-------------------------
保存ログディレクトリを作成
[root@localhost redis-5.0.2]# redis-server /etc/sentinel_26379.conf --sentinel
[root@localhost redis-5.0.2]# redis-server /etc/sentinel_26380.conf --sentinel
[root@localhost redis-5.0.2]# redis-server /etc/sentinel_26381.conf --sentinel
[root@localhost redis-5.0.2]# netstat -anpt |grep 263
検証
[root@localhost redis-5.0.2]# redis-cli -p 26379
127.0.0.1:26379> info sentinel
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=192.168.33.143:6379,slaves=2,sentinels=3
表示、キルトダウン6379ポート
[root@localhost ~]# netstat -anpt |grep -w 6379
tcp        0      0 192.168.33.143:6379     0.0.0.0:*               LISTEN      12384/redis-server
##  
[root@localhost ~]# cat /var/run/redis_6379.pid 
12384
[root@localhost ~]# kill -9 12384
ホストの移動に成功しました
[root@localhost ~]# redis-cli -p 26379
127.0.0.1:26379> info sentinel
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=192.168.33.143:6381,slaves=2,sentinels=3