Linux - redis哨兵集羣實例

Linux - redis哨兵集羣實例

命令整理

官網地址:http://redisdoc.com/

redis-cli info #查看redis數據庫信息

redis-cli info replication #查看redis的複製受權信息

redis-cli info sentinel   #查看redis的哨兵信息

配置流程

思路:linux

redis主從

一主兩從的方案

1.環境準備,準備一主兩從的redis架構redis

redis-6379.conf數據庫

port 6379

daemonize yes

logfile "6379.log"

dbfilename "dump-6379.rdb"

dir "/opt/redis/6379/"

redis-6380.conf架構

port 6380

daemonize yes

logfile "6380.log"

dbfilename "dump-6380.rdb"

dir "/opt/redis/6380/"

slaveof  127.0.0.1  6379

redis-6381.confui

port 6381

daemonize yes

logfile "6381.log"

dbfilename "dump-6381.rdb"

dir "/opt/redis/6381/"

slaveof  127.0.0.1  6379

2.準備三個數據文件夾code

mkdir -p  /opt/redis/{6379,6380,6381}

3。分別啓動三個數據庫server

[root@master sbredis]# redis-server redis-6379.conf 

[root@master sbredis]# redis-server redis-6380.conf 

[root@master sbredis]# redis-server redis-6381.conf

4.檢測主從狀態進程

redis-cli -p 6379   info replication

redis-cli -p 6380   info replication

redis-cli -p 6381   info replication

5.準備三個redis哨兵,進行檢測主從狀態ip

準備三個哨兵的配置文件

redis-26379.conf

// Sentinel節點的端口
port 26379  
dir /var/redis/data/
logfile "26379.log"

// 當前Sentinel節點監控 192.168.119.10:6379 這個主節點
// 2表明判斷主節點失敗至少須要2個Sentinel節點節點贊成
// mymaster是主節點的別名
sentinel monitor mymaster 192.168.119.10 6379 2

//每一個Sentinel節點都要按期PING命令來判斷Redis數據節點和其他Sentinel節點是否可達,若是超過30000毫秒30s且沒有回覆,則斷定不可達
sentinel down-after-milliseconds mymaster 30000

//當Sentinel節點集合對主節點故障斷定達成一致時,Sentinel領導者節點會作故障轉移操做,選出新的主節點,
原來的從節點會向新的主節點發起復制操做,限制每次向新的主節點發起復制操做的從節點個數爲1
sentinel parallel-syncs mymaster 1

//故障轉移超時時間爲180000毫秒
sentinel failover-timeout mymaster 180000

redis-26380.conf

port 7000

daemonize yes

dir "/opt/data"

logfile "7000.log"

dbfilename "dump-7000.rdb"

cluster-enabled yes   

cluster-config-file nodes-7000.conf

cluster-require-full-coverage no

redis-26381.conf

三個配置文件,僅僅是端口的不一樣,經過命令快速生成配置文件

[root@master sbredis]# sed "s/26379/26380/g"  redis-26379.conf   >  redis-26380.conf  

[root@master sbredis]# sed "s/26379/26381/g"  redis-26379.conf   >  redis-26381.conf

6.分別啓動三個哨兵

[root@master sbredis]# redis-sentinel redis-26379.conf 

[root@master sbredis]# redis-sentinel redis-26380.conf 

[root@master sbredis]# redis-sentinel redis-26381.conf

7.檢測哨兵,主從狀態

redis-cli -p 26379  info sentinel

看到以下信息,就和我同樣了

[root@master sbredis]# redis-cli -p 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=s17ms,status=ok,address=127.0.0.1:6379,slaves=2,sentinels=3

8.測驗,幹掉master redis,是否自動切換

ps -ef|grep redis
    kill 進程
    ..

9.再次啓動redis 6379 查看它是否加入 主從集羣

redis-server redis-6379.conf

OK~

相關文章
相關標籤/搜索