如何配置redis运行在经典主从模式和哨兵配置(单机)

如题
已邀请:

# 经典主从模式配置(6379为主,6380/6381为从)

#复制redis目录三份

#/home/redis6379

#/home/redis6380

#/home/redis6381

#每份下设置对应的redis6379.conf/redis6380.conf/redis6381.conf

调整或设置redis6379.conf如下参数

port 6379  
daemonize yes
pidfile /var/run/redis_6379.pid
logfile "./6379.log"
dir ./

调整或设置redis6380.conf如下参数

port 6380  
daemonize yes
pidfile /var/run/redis_6380.pid
logfile "./6380.log"
dir ./
slaveof 127.0.0.1 6379
slave-read-only yes

调整或设置redis6381.conf如下参数

port 6381  
daemonize yes
pidfile /var/run/redis_6381.pid
logfile "./6381.log"
dir ./
slaveof 127.0.0.1 6379
slave-read-only yes

启动各节点

/home/redis6379/src/redis-server /home/redis6379/redis6379.conf
/home/redis6380/src/redis-server /home/redis6380/redis6380.conf
/home/redis6381/src/redis-server /home/redis6381/redis6381.conf

连接主节点验证

/home/redis6379/src/redis-cli -p 6379
127.0.0.1:6379> set nccloud 1
OK
127.0.0.1:6379> get nccloud
"1"

连接从节点验证只读性

/home/redis6380/src/redis-cli -p 6380
127.0.0.1:6380> get nccloud
"1"
127.0.0.1:6380> set nccloud 1
(error) READONLY You can't write against a read only replica.

#启用密码校验

#主节点配置文件增加设置 
requirepass 密码 
#从节点配置文件增加设置 
masterauth 密码

# 配置哨兵模式配置

调整或设置/home/redis6379/sentinel26379.conf如下参数

protected-mode no
port 26379
daemonize yes
pidfile /var/run/redis-sentinel6379.pid
logfile "./redis-sentinel6379.log"
dir /tmp
#sentinel监控的IP 端口号 sentinel通过投票后认为mater宕机的数量,此处为至少2个
sentinel monitor redis6379 127.0.0.1 6379 2
#10秒ping不通主节点的信息,主观认为master宕机
sentinel down-after-milliseconds redis6379 10000
#故障转移后重新主从复制,1表示串行,>1并行
sentinel parallel-syncs redis6379 1
#故障转移开始,60秒内没有完成,则认为转移失败
sentinel failover-timeout redis6379 60000

调整或设置/home/redis6380/sentinel26380.conf如下参数

protected-mode no
port 26380
daemonize yes
pidfile /var/run/redis-sentinel6380.pid
logfile "./redis-sentinel6380.log"
dir /tmp
#sentinel监控的IP 端口号 sentinel通过投票后认为mater宕机的数量,此处为至少2个
sentinel monitor redis6379 127.0.0.1 6379 2
#10秒ping不通主节点的信息,主观认为master宕机
sentinel down-after-milliseconds redis6379 10000
#故障转移后重新主从复制,1表示串行,>1并行
sentinel parallel-syncs redis6379 1
#故障转移开始,60秒内没有完成,则认为转移失败
sentinel failover-timeout redis6379 60000

调整或设置/home/redis6381/sentinel26381.conf如下参数

protected-mode no
port 26381
daemonize yes
pidfile /var/run/redis-sentinel6381.pid
logfile "./redis-sentinel6381.log"
dir /tmp
#sentinel监控的IP 端口号 sentinel通过投票后认为mater宕机的数量,此处为至少2个
sentinel monitor redis6379 127.0.0.1 6379 2
#10秒ping不通主节点的信息,主观认为master宕机
sentinel down-after-milliseconds redis6379 10000
#故障转移后重新主从复制,1表示串行,>1并行
sentinel parallel-syncs redis6379 1
#故障转移开始,60秒内没有完成,则认为转移失败
sentinel failover-timeout redis6379 60000

启动哨兵

/home/redis6379/src/redis-sentinel /home/redis6379/sentinel26379.conf
/home/redis6380/src/redis-sentinel /home/redis6380/sentinel26380.conf
/home/redis6381/src/redis-sentinel /home/redis6381/sentinel26381.conf

验证状态

/home/redis6379/src/redis-cli -p 26379
127.0.0.1:26379> info
...
...
...
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=redis6379,status=ok,address=127.0.0.1:6379,slaves=2,sentinels=3

 

要回复问题请先登录注册