Redis 安装成windows服务- 一主二从三哨兵,sentinel安装为Windows服务

时间:2023-03-08 23:45:06
Redis 安装成windows服务- 一主二从三哨兵,sentinel安装为Windows服务

这里只做记录说明

Redis的主从配置网上很多文章,百度一大堆,安装流程应该都可以配置通。我使用的这篇文章

https://blog.****.net/u010648555/article/details/79427606

配置完成主从后,继续哨兵的配置,同样网上很多文章,我参考

https://blog.****.net/u010648555/article/details/79430105

在配置哨兵的过程中遇到问题,哨兵搭建都成功,相互之间也知道对方的存在,就是无法通信,无法启动故障迁移。

原因主要是因为 sentinel.conf 配置确实一个配置,不过添加那一句貌似就裸奔了,要完善处理,可以参考这骗文章:

https://www.cnblogs.com/zhoujinyi/p/5585723.html

我测试时添加了

protected-mode no

  正式环境建议研究配置,都给密码,改端口

如下时我的 sentinel.conf 完整配置

# 这个是Redis6379配置内容,其他文件同理新增然后改一下端口即可,,和 。

#当前Sentinel服务运行的端口
port protected-mode no
# 哨兵监听的主服务器
sentinel monitor mymaster 127.0.0.1
# 3s内mymaster无响应,则认为mymaster宕机了
sentinel down-after-milliseconds mymaster
#如果10秒后,mysater仍没启动过来,则启动failover
sentinel failover-timeout mymaster
# 执行故障转移时, 最多有1个从服务器同时对新的主服务器进行同步
sentinel parallel-syncs mymaster

修改后即可测试成功自动迁移。

下面就是把Redis和Sentinel都弄成Windows 的服务运行。

将Redis做成服务运行,这篇文章也说得清楚,

https://www.cnblogs.com/zoro-zero/p/6437519.html

不过没有说将哨兵做成服务。下面是我自己测试成功,可以将哨兵做成服务的脚本

(在redis目录下执行,管理员执行)

//删除服务,默认的Redis
redis-server --service-uninstall
//删除服务,指定的服务名称
redis-server --service-uninstall --service-name RedisService1 //安装redis
redis-server --service-install redis.windows.conf --loglevel verbose //安装其他名称的服务
redis-server --service-install --service-name redisService1 --port //将Sentinel安装为Windows服务
redis-server --service-install sentinel.conf --sentinel --service-name RedisSentinel --port

另外,测试哨兵的时候,这个命令也很好用,比 shutdown 方便。

测试利器,  debug sleep 0.1就相当于执行了一条开销为100ms的命令

127.0.0.1:6379> debug sleep 1
OK
(1.00s)

  

debug error

测试利器, debug error,redis直接会返回一个错误应答

127.0.0.1:6379> debug error "test"
(error) test