24.Redis2.8主從集羣sentinel

0.集羣架構(此處只說兩種;本文2種,避免sentinel成爲單節點)
第一種:
第二種:

1.下載redis2.8.x版本,2.8.x都是穩定版linux

redis-2.8.24.tar.gz
2.解壓,安裝
tar -zxvf  redis-2.8.24.tar.gz -C /opt
make
make install
#編譯的2進制文件在解壓目錄src下,爲了方便把編譯的二進制文件和配置文件複製到一塊兒,不用每次找了
#搭建1 Master 2個Slave的分片集羣(一臺機器上)
 
mkdir -p  /opt/redis-share1/{redis-6379,redis-6380,redis-6381}     #建立多級目錄
cd  /opt/redis-2.8.24
cp runtest   /opt/redis-share1/ redis-6379
cp runtest-sentinel  /opt/redis-share1/ redis-6379
cp redis.conf  /opt/redis-share1/ redis-6379
cp sentinel.conf  /opt/redis-share1/ redis-6379
 
cd  /opt/redis-2.8.24/src
cp redis-benchmark  /opt/redis-share1/ redis-6379
cp redis-check-aof  /opt/redis-share1/ redis-6379
cp redis-check-dump  /opt/redis-share1/ redis-6379
cp redis-cli  /opt/redis-share1/ redis-6379
cp redis-sentinel  /opt/redis-share1/ redis-6379
cp redis-server  /opt/redis-share1/ redis-6379
 
cd  /opt/redis-share1/ redis-6379/
cp *  /opt/redis-share1/ redis-6380
cp *  /opt/redis-share1/ redis-6381
 
3.修改配置文件
搜索slaveof,添加一項
slaveof 127.0.0.1 6379     (master不須要此項,slave指定主節點)
masterauth 123456            (不想設置密碼不用)
requirepass 123456            (不想設置密碼不用)
daemonize    yes            修改成yes讓其能夠後臺啓動,不至於關閉控制檯redis就關了
pidfile /opt/redis-share1/redis-6381/redis.pid     由於在同一臺機器咱們必須制定每一個redis實例pid單獨的位置
port    6379     #若干3個實例在3臺服務器能夠不用改,我這裏在一臺機器,因此分別6379 6380 6381
 
4.啓動Sentinel Master Slave(紅色是不用sentinel)
先啓動Master  6379
 cd /opt/redis-share1/redis-6379
./redis-server redis.conf  
./redis-server redis.conf   --sentinel          # 第二種方式, 這種方式須要先修改sentinel.conf配置文件
再啓動Slave1
 cd /opt/redis-share1/redis-6380
./redis-server redis.conf  
./ redis-cli slaveof 172.29.1.102 6379     #把從節點告知主節點
./redis-server redis.conf   --sentinel           # 第二種方式, 這種方式須要先修改sentinel.conf配置文件
啓動slave2
 cd /opt/redis-share1/redis-6381
./redis-server redis.conf  
./ redis-cli slaveof 172.29.1.102 6379     #把從節點告知主節點
./redis-server redis.conf   --sentinel           # 第二種方式, 這種方式須要先修改sentinel.conf配置文件
 
#查看副本信息
./redis-cli -h 127.0.0.1 -p 6379 -a 123456 info replication
./redis-cli -h 127.0.0.1 -p 6380 -a 123456 info replication
./redis-cli -h 127.0.0.1 -p 6381 -a 123456 info replication
 
若是是第一種方式:
再啓動Sentinel服務器:
cd /opt/redis-Sentinel/redis
./redis-server sentinel.conf  --sentinel  &
 
 
#不帶sentinel啓動方式查看驗證主從複製
./redis-server redis.conf
#查看節點信息帶密碼
主:
./redis-cli -h 127.0.0.1 -p 6379 -a 123456 info replication
從:
./redis-cli -h 127.0.0.1 -p 6380 -a 123456 info replication 
./redis-cli -h 127.0.0.1 -p 6381 -a 123456 info replication 
#的是主從複製
./redis-cli -h 127.0.0.1 -p 6379 -a 123456
>set aa 123
>get aa
./redis-cli -h 127.0.0.1 -p 6380 -a 123456
>get aa
./redis-cli -h 127.0.0.1 -p 6381 -a 123456
>get aa
 
#Sentinel mode:
kill -9 $(ps -ef|grep -E 'redis'|grep -v grep|awk '{print $2}')     #殺掉全部redis,已sentinel啓動
#分別進入3個redis
./redis-server sentinel.conf --sentinel
./redis-server sentinel.conf --sentinel
./redis-server sentinel.conf --sentinel
#測試Master掛了之後是否slave升級爲Master
./redis-sentinel sentinel.conf     #監控redis節點狀況
 
 
#Master和Slave配置
#master
port 26379
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel auth-pass mymaster 123456
sentinel down-after-milliseconds mymaster 30000
sentinel failover-timeout mymaster 900000
sentinel can-failover mymaster yes
sentinel parallel-syncs mymaster 1
 
#slaeve
port 26479
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel auth-pass mymaster 123456
sentinel down-after-milliseconds mymaster 30000
sentinel failover-timeout mymaster 900000
sentinel can-failover mymaster yes
sentinel parallel-syncs mymaster 1
 
#slave
port 26579
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel auth-pass mymaster 123456
sentinel down-after-milliseconds mymaster 30000
sentinel failover-timeout mymaster 900000
sentinel can-failover mymaster yes
sentinel parallel-syncs mymaster 1
 
 
參考:http://blog.csdn.net/luyee2010/article/details/9385155
參考:http://www.linuxidc.com/Linux/2013-11/92287.htm
 
 
 
 
 
 



相關文章
相關標籤/搜索