redis哨兵管理-5.0.14版本

目录

01.配置三实例

02.配置主从

03.配置三哨兵

04.实例管理

05.哨兵管理

06.实例配置文件模板


01.配置三实例

配置文件模板见结尾

启动实例:
/data/redis/bin/redis-server /data/redis/conf/redis16390.conf
/data/redis/bin/redis-server /data/redis/conf/redis16391.conf
/data/redis/bin/redis-server /data/redis/conf/redis16392.conf

ps aux|grep redis
/data/redis/bin/redis-cli -a ...... -h 127.0.0.1 -p 16390 SHUTDOWN
ps -ef | grep redis-server | grep -v grep | awk '{print $2}' | xargs kill

/data/redis/bin/redis-cli -a ...... -h 127.0.0.1 -p 16390

02.配置主从

登录从节点
/data/redis/bin/redis-cli -a ...... -h 127.0.0.1 -p 16391
/data/redis/bin/redis-cli -a ...... -h 127.0.0.1 -p 16392

从节点执行
replicaof 127.0.0.1 16390
#slaveof 127.0.0.1 16390

#也可以写入从节点配置文件中,再重启从节点

若报错:slaveof directive not allowed in cluster mode
可能主、从节点的配置文件中 cluster-enabled 的值为 yes ,设置为 no (或者直接注释掉以 cluster 开头的参数 ),重启实例。

查看主从信息
info replication

03.配置三哨兵

配置文件模板

port 26390
dir "/data/redis/data/26390/"
daemonize yes
logfile "/data/redis/log/redis_26390.log"
sentinel deny-scripts-reconfig yes
sentinel monitor mymaster 127.0.0.1 16390 2
sentinel down-after-milliseconds mymaster 5000
#sentinel failover-timeout mymaster 18000
sentinel auth-pass mymaster ......

注意:监控多架构主从时可参考下方(根据实际情况修改mymaster名称):

#mymaster02
sentinel monitor mymaster02 127.0.0.1 16390 2
sentinel down-after-milliseconds mymaster02 5000
#sentinel failover-timeout mymaster02 18000
sentinel auth-pass mymaster02 ......

启动哨兵
/data/redis/bin/redis-sentinel /data/redis/conf/redis26390.conf
/data/redis/bin/redis-sentinel /data/redis/conf/redis26391.conf
/data/redis/bin/redis-sentinel /data/redis/conf/redis26392.conf

或者
/data/redis/redis-5.0.14/src/redis-sentinel /data/redis/conf/redis26390.conf
/data/redis/redis-5.0.14/src/redis-sentinel /data/redis/conf/redis26391.conf
/data/redis/redis-5.0.14/src/redis-sentinel /data/redis/conf/redis26392.conf

ps aux|grep redis
/data/redis/bin/redis-cli -a ...... -h 127.0.0.1 -p 26390 SHUTDOWN
ps -ef | grep redis-sentinel | grep -v grep | awk '{print $2}' | xargs kill

查看哨兵日志,排查错误信息
cat /data/redis/log/redis_26390.log

查看哨兵启动后配置文件新生成的参数,确定每个哨兵实例的 id 值不同

sentinel myid 09d874870a56c0dd58d57b62027e1992a32739da
# Generated by CONFIG REWRITE
protected-mode no
sentinel config-epoch mymaster 7
sentinel leader-epoch mymaster 7
sentinel known-replica mymaster 127.0.0.1 16390
sentinel known-replica mymaster 127.0.0.1 16391
sentinel known-replica mymaster 127.0.0.1 16393
sentinel known-sentinel mymaster 127.0.0.1 26391 b77a0b78e5c1b4476900c75f34088a15e46b986b
sentinel known-sentinel mymaster 127.0.0.1 26392 f4ee904e5f166bb42b6a085ea8b806ee91c43b8a
sentinel current-epoch 7

04.实例管理

从节点宕机,不管数据路径下文件是否丢失,只要能重启会自动加到主从;
若不能重启,选择新的服务器直接 replicaof 重新选择新主即可;

主节点宕机,哨兵自动选举新主;
原主节点,不管数据路径下文件是否丢失,只要能重启会自动加到主从;
若原主节点不能重启,选择新的服务器直接 replicaof 重新选择新主即可;

05.哨兵管理

哨兵宕机是否对实例有影响,要看参数

sentinel monitor mymaster 127.0.0.1 16390 2

最后的数字权重,如果权重是2,但是正在监测的哨兵只有1台,主节点宕机,是不会进行主从切换的;

如果权重是2,部分哨兵宕机导致主观下线数不到2,主节点宕机后不会进行切换,只有原监测节点重启成功,监测数达到2,并且哨兵主观下线数量达到2才会切换。

如果权重是2,且宕机的哨兵没有来得及重启或者重启不了,当前哨兵监测数不到2,但是只要在主节点宕机之前添加新的哨兵使得监测数达到2,那么主节点宕机后,只要哨兵主观下线数量达到2是可以进行切换的。而且如果之前的哨兵能重启会自动更新配置文件重新加入哨兵组。

若原监测节点不能重启,并且主节点宕机了,需要重新部署新的哨兵,新哨兵配置文件只要跟原哨兵的配置文件相同即可,但要添加从节点信息

sentinel known-replica mymaster 127.0.0.1 16392
sentinel known-replica mymaster 127.0.0.1 16393

且启动后必须确保哨兵id值都不一样。
注:紧急情况下,为了确保主从切换,最好在主节点宕机后启动多台哨兵,这样是为了防止出现虽然哨兵监测数满足切换权重,但是主观下线数却不满足,从而导致还是无法进行主从切换的现象。

总结:哨兵宕机,要尽快重启哨兵,如果不能重启要部署新哨兵;部署的新哨兵数量不得少于宕机的数量。

06.实例配置文件模板

#注意要关掉集群的参数

bind 0.0.0.0
protected-mode yes
port 16390
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize yes
supervised no
masterauth "......"
requirepass "......"
#maxmemory 16777216kb
maxmemory 8388608kb
maxclients 20000
pidfile "/var/run/redis_16390.pid"
loglevel notice
logfile "/data/redis/log/redis_16390.log"
databases 16
always-show-logo yes
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump_16390.rdb
dir "/data/redis/data/16390/"
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
slave-lazy-flush no
appendonly yes
appendfilename "appendonly_16390.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble no
lua-time-limit 5000
#cluster-enabled yes
#cluster-config-file nodes-16390.conf
#cluster-node-timeout 15000
#cluster-slave-validity-factor 10
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes
maxmemory-policy volatile-lfu

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值