redis主从加哨兵

您所在的位置:网站首页 redis主从加哨兵 redis主从加哨兵

redis主从加哨兵

2023-09-17 03:37| 来源: 网络整理| 查看: 265

配置redis主从加哨兵

Sentinel 程序可以在编译后的 src 文档中发现, 它是一个命名为 redis-sentinel 的程序。 Redis 源码中包含了一个名为 sentinel.conf 的文件, 这个文件是一个带有详细注释的 Sentinel 配置文件示例。 运行一个 Sentinel 所需的最少配置如下所示: // 监控一个 Redis 服务器 // 名称为 mymaster ,IP 为 127.0.0.1 端口为 6380 // 最后的 2 是指最少有 2 给 Sentinel 实例同意一台 redis 服务器宕机,才会认为 客观下线。 // sentinel monitor 自定义的主节点名称 主节点的 IP 主节点端口 票数 sentinel monitor mymaster 127.0.0.1 6380 2 sentinel down-after-milliseconds mymaster 3000 // 180 秒后开始故障自动装换 sentinel failover-timeout mymaster 5000 sentinel parallel-syncs mymaster 1

down-after-milliseconds 选项指定了 Sentinel 认为服务器已经断线所需的毫秒数。 如果服务器在给定的毫秒数之内, 没有返回 Sentinel 发送的 PING 命令的回复, 或者返回一个错误, 那么 Sentinel 将这个服务器标记为主观下线(subjectively down,简称 SDOWN )。 不过只有一个 Sentinel 将服务器标记为主观下线并不一定会引起服务器的自动故障迁移: 只有在足够数量的 Sentinel 都将一个服务器标记为主观下线之后, 服务器才会被标记为客观下线(objectively down, 简称 ODOWN ), 这时自动故障迁移才会执行。 客观下线就是有2台哨兵觉得你宕机了你就是宕机 如果只有一台只是他的主观下线 所以上面的参数设置为2

parallel-syncs 选项指定了在执行故障转移时, 最多可以有多少个从服务器同时对新的主服务器进行同步, 这个数字越小, 完成故障转移所需的时间就越长。 这个参数意思就是故障转移时可以有几个从服务器对新的主服务器同步数据 所以数字小 完成时间越长

过滤原文件到sentinel-27000.conf grep -Ev ‘#|KaTeX parse error: Expected group after '^' at position 60: …conf grep -Ev '^̲#|^’ sentinel.conf > /etc/redis/sentinel-27001.conf grep -Ev ‘#|$’ sentinel.conf > /etc/redis/sentinel-27002.conf 修改监听端口 sed -i ‘s/26379/27000/g’ /etc/redis/sentinel-27000.conf sed -i ‘s/26379/27001/g’ /etc/redis/sentinel-27001.conf sed -i ‘s/26379/27002/g’ /etc/redis/sentinel-27002.conf 修改 dir 指定的目录 最终的配置文件 配置文件最好指定具体ip地址 不是 127.0.0.1不然有可能会故障转移不过去 当然这是一台多实例的 多台不存在这种情况 sentinel-27000.conf

daemonize yes port 27000 dir /redis/data/ logfile /var/log/sentinel-27000.log sentinel monitor mymaster 127.0.0.1 6380 2 sentinel down-after-milliseconds mymaster 3000 sentinel failover-timeout mymaster 5000 sentinel parallel-syncs mymaster 1

启动服务的语法: redis-sentinel sentinel的配置文件 我的是/etc/redis/sentinel-27000.conf 3个哨兵依次启动 启动哨兵后哨兵的配置文件会添加内容 不要动它 可以使用以下命令查看哨兵的信息 [root@server ~]# redis-cli -p 27001 info …略…

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=127.0.0.1:6380,slaves=2,sentinels=3

故障演练

停止 Master 节点的服务 redis-cli -p 6380 shutdown 不断的刷新其中一个 Sentinel 节点的信息,观察最后一行信息的变化 redis-cli -p 27001 info …略… master0:name=mymaster,status=ok,address=127.0.0.1:6382,slaves=2,sentinels=3 端口就会转移到6382上 如果想转移回来就停止哨兵和redis进程 重新启动redis主从和3个哨兵就好了



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3