redis 哨兵模式启动报错-failover-abort-no-good-slave master Next failover delay: I will not start a failover

在启用Redis哨兵模式时遇到报错,原因是sentinel.conf配置中未设置密码。解决方法是创建并配置sentinel.conf文件,添加哨兵监控和密码设置,如:sentinel monitor mymaster 127.0.0.1 6379 1和sentinel auth-pass mymaster 123456。正确配置后,哨兵模式将能正常运行。

问题:
启用哨兵模式时报错

31812:X 10 Apr 2022 16:15:58.947 # -failover-abort-no-good-slave master mymaster 127.0.0.1 6379
31812:X 10 Apr 2022 16:15:59.014 # Next failover delay: I will not start a failover before Sun Apr 10 16:21:59 2022

原因:
配置sentinel.conf时,没有设置密码

解决:
新建sentinel.conf文件,配置哨兵填写内容

sentinel monitor mymaster 127.0.0.1 6379 1
sentinel auth-pass mymaster 123456

sentinel.conf常用配置

### 部署 Redis Sentinel 哨兵模式 Redis Sentinel 是用于监控 Redis 实例并实现高可用性的工具。以下是关于其部署和配置的关键点: #### 启动 Redis 主从节点 为了使 Redis Sentinel 正常工作,需要先设置好主从复制结构。可以通过以下方式启动多个 Redis 实例作为主服务器和从服务器。 ```bash ./redis-server /path/to/redis_master.conf --port 6379 ./redis-server /path/to/redis_slave1.conf --port 6380 --slaveof 127.0.0.1 6379 ./redis-server /path/to/redis_slave2.conf --port 6381 --slaveof 127.0.0.1 6379 ``` 上述命令分别启动了一个主实例(端口 `6379`)和两个从实例(端口分别为 `6380` 和 `6381`),其中从实例通过参数 `--slaveof` 设置为主实例的副本[^4]。 #### 配置 Redis Sentinel 文件 创建一个名为 `sentinel.conf` 的配置文件,并添加如下内容来定义哨兵的行为: ```conf # 定义监听端口 port 26379 # 指定被监视的主数据库名称、IP地址及端口号 sentinel monitor mymaster 127.0.0.1 6379 2 # 当前 quorum 参数表示至少有 2 台哨兵同意才能判定主库失效 quorum 表示多少台哨兵认为 master 不可用时触发 failover 流程 # 自动发现其他哨兵节点 sentinel down-after-milliseconds mymaster 5000 sentinel parallel-syncs mymaster 1 sentinel failover-timeout mymaster 60000 ``` 此部分设置了哨兵去监测名为 `mymaster` 的主数据库及其关联的从属者们的状态变化情况[^3]。 #### 启动 Redis Sentinel 利用之前准备好的配置文件运行哨兵进程: ```bash ./redis-sentinel /path/to/sentinel.conf ``` 这一步会依据指定路径下的配置文件初始化相应的哨兵服务。 --- ### 部署 Redis Cluster 集群环境 对于更复杂的场景,则可以考虑构建完整的 Redis Cluster 来提供分布式存储能力。下面介绍基本步骤: #### 准备多份独立的 Redis 配置文件 每一份都需要单独设定不同的 TCP 端口以便区分各个成员之间的通信渠道。例如: ```conf port 7000 cluster-enabled yes cluster-config-file nodes-7000.conf cluster-node-timeout 5000 appendonly yes ``` 这里启用了集群支持 (`cluster-enabled`) 并指定了持久化选项(`appendonly`) ,同时允许自动生成节点间关系描述文档(nodes-*.conf)[^2]。 #### 开始各组件的服务 按照预先规划的数量逐一激活这些预设完毕后的个体单元体: ```bash for port in {7000..7005}; do ./redis-server /path/to/redis_$port.conf; done ``` 这样就拥有了六个处于待命状态中的候选参与者可供后续操作调配使用了。 #### 创建实际意义上的逻辑上的整体集合体系 借助官方提供的脚本完成最后组装动作: ```bash yes | redis-cli --cluster create \ 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 \ 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 \ --cluster-replicas 1 ``` 该指令将把前面提到过的那些零散部件组合成具有冗余备份特性的正式生产级别规模大小不一但相互协作配合默契的整体解决方案。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

但行益事莫问前程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值