本文目录如下:
- 一、前言
- 二、部署拓扑图
- 三、搭建 Redis 一主两从
- 1.1 备份和还原 Redis 镜像
- 1.2 主节点配置
- 1.3 从节点配置
- 1.4 启动容器
- 1.5 查看 Redis 状态
- 1.6 测试主从复制
- 四、搭建哨兵集群
4.1 哨兵集群拓扑图
4.2 哨兵服务是怎么启动的
4.3 哨兵配置
4.4 启动哨兵容器
五、客户端自动感知故障
如何实现自动感知故障
客户端自动感知的原理
六、遇到的问题
6.1 提示不能写只读的 redis 节点
6.2 提示连接 Redis 失败
七、总结
一、前言
我们有个项目中用的 MySQL、Redis、ES、微服务都是单节点部署的,没有做集群模式部署,为了提高整体的可用性,对项目的部署架构进行了升级,支持高可用。
二、部署拓扑图
我们项目的测试环境 12 台服务器已经部署好了,其中三台用来部署 Redis 的 一主 + 两从 + 三哨兵的服务器。服务器资源清单如下:

另外 Redis 的端口都是 6379,Sentinel(哨兵) 的端口都是 26379。
部署的拓扑图如下,三台服务器上都部署了一个哨兵。

三、搭建 Redis 一主两从
我们原来的单点的服务器上是有运行的 Redis 容器的,把这个容器的镜像打包备份下,然后拷贝和还原到新的服务器上就好了。
搭建 Redis 一主两从的步骤如下:
- 拷贝和还原 Redis 镜像到三台服务器上。
- 其中一台服务器作为主节点,配置文件为主节点的,用 docker 启动 Redis 主节点。
- 另外两台服务器作为从节点,配置文件为从节点的,用 docker 启动两个 Redis 从节点。
- 进入到主节点和从节点容器中,查看主从复制状态。
1.1 备份和还原 Redis 镜像
打包测试环境的 Redis 镜像,这个命令会将服务器上 redis 镜像打包成 tar 包,这样我们就方便拷贝到其他服务器上了。执行打包镜像命令:
因为保存的 tar 包权限不够,所以设置下权限为 777。执行修改权限的命令:
将这个 tar 包拷贝新环境的三台服务器上。执行导入镜像的命令:
添加配置文件 redis.conf 放在本地,作为 redis 容器的配置文件。这个文件也可以在 redis 官网下载 https://redis.io/。redis.conf 文件放到 /home/redis 目录下。
1.2 主节点配置
修改本地的 redis.conf 文件:
requirepass 和 masterauth:对于数据比较重要的节点,主节点会通过设置requirepass参数进行密码 验证,这时所有的客户端访问必须使用auth命令

最低0.47元/天 解锁文章
299

被折叠的 条评论
为什么被折叠?



