# huaweicloud-solution-rapid-deployment-of-high-available-redis-clusters **Repository Path**: HuaweiCloudDeveloper/huaweicloud-solution-rapid-deployment-of-high-available-redis-clusters ## Basic Information - **Project Name**: huaweicloud-solution-rapid-deployment-of-high-available-redis-clusters - **Description**: 该解决方案可以帮助您在华为云弹性云服务器上轻松搭建高可用的Redis集群,提高数据查询效率,缓解数据库的压力。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master-dev - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2022-09-27 - **Last Updated**: 2023-04-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [TOC] **解决方案介绍** =============== 该解决方案可以帮助您在华为云弹性云服务器上轻松搭建Redis集群,提高数据查询效率,缓解数据库的压力。适用于以下场景: - 电商网站秒杀抢购:节假日,双11等电商平台秒杀抢购活动 - 游戏应用排行榜:在线游戏排行榜实时展示 - 视频直播消息弹幕:直播间用户列表,礼物榜单,弹幕消息等 解决方案实践详情页面地址:https://www.huaweicloud.com/solution/implementations/rapid-deployment-of-high-available-redis-clusters.html **架构图** --------------- ![架构图](./document/rapid-deployment-of-high-available-redis-clusters.png) **架构描述** --------------- 该解决方案会部署如下资源: 1.创建3台Linux弹性云服务器部署在不同的可用区,分别用于搭建Redis 的节点。 2.创建3条弹性公网IP,用于Redis 环境部署及提供访问公网和被公网访问能力。 3.创建安全组,可以保护弹性云服务器的网络安全,通过配置安全组规则,限定云服务器的访问端口。 **组织结构** --------------- ``` lua huaweicloud-solution-rapid-deployment-of-high-available-redis-clusters ├── rapid-deployment-of-high-available-redis-clusters.tf.json -- 资源编排模板 ├── userdata ├── redis_cluster_install_01.sh -- 脚本配置文件 ├── redis_cluster_install_02.sh -- 脚本配置文件 ``` **开始使用** --------------- ***Redis密码修改(可选)(*三台机器都需要修改并且密码必须相同*)(部署好服务后***primary ***为master主节点,***secondary01 ***、***secondary02 ***为slave从节点)*** 1.登录[ECS弹性云服务器](https://auth.huaweicloud.com/authui/login.html?service=https%3A%2F%2Fconsole.huaweicloud.com%2Fecm%2F%3FagencyId%3D8f3a7568dba64651869aa83c1b53de79%26region%3Dcn-north-4%26locale%3Dzh-cn%26cloud_route_state%3D%2Fecs%2Fmanager%2FvmList#/login)控制平台,首先选择一台弹性云服务器,单击远程登录 ,或者使用其他的远程登录工具进入Linux弹性云服务器。 **图 1** 登录云服务器控制平台 ![登录服务器控制平台](./document/readme-image-001.png) **图 2** 登录Linux弹性云服务器 ![登录Linux弹性云服务器](./document/readme-image-002.png) 2.在Linux弹性云服务中输入账号和密码后回车。 **图 3** 登录弹性云服务器 ![登录弹性云服务器](./document/readme-image-003.png) 3.输入vim /data/redis-5.0.8/redis.conf 进入文件,修改requirepass和masterauth密码,两者必须相同 按 /requirepass回车可以快速搜索 按 i 进入编辑模式输入新密码, 按ecs 输入 ":wq"保存并退出。 **图 4** 修改密码 ![修改密码](./document/readme-image-004.png) **图 5** 修改密码 ![修改密码](./document/readme-image-005.png) 4.redis修改完密码,需要重启redis服务,密码才可以生效 三台机器必须按照先从->后主的方式关闭redis进程(先关闭从节点,再关闭主节点) 输入ps -ef |grep redis kill -9 pid **图 6** 重启服务 ![重启服务](./document/readme-image-006.png) 三台机器都修改完成后,按照先主-->后从顺序启动redis和Sentinel服务 启动Redis,顺序主节点-->从节点 redis-server /data/redis-5.0.8/redis.conf 启动Sentinel,顺序主节点-->从节点 redis-sentinel /data/redis-5.0.8/sentinel.conf ***redis集群验证*** 1.登录redis-master节点,查看集群信息 Redis集群部署成功 redis-master节点(primary 为主节点) redis-cli -h ip(本机私网ip) -p 7000 auth redis密码 info replicaation **图 7** 登录redis-master节点,查看集群信息 ![查看集群信息](./document/readme-image-007.png) 2.查看集群信息redis-slave节点(secondary01为从节点) redis-cli -h ip(本机私网ip) -p 7000 auth redis密码 info replication **图 8** 访问redis-slave节点,查看集群信息 ![RabbitMQ初始页面](./document/readme-image-008.png) 3.查看集群信息redis-slave节点(secondary02为从节点) ​ redis-cli -h ip(本机私网ip) -p 7000 auth redis密码 ​ info replication **图 9** 访问redis-slave节点,查看集群信息 ![访问redis-slave节点,查看集群信息 ](./document/readme-image-009.png) 4.插入数据验证 redis-master节点插入数据,slave节点默认只读,不能插入数据 set aaa "ceshishuju01" get aaa **图10** redis-master主节点插入数据,获取信息 ![redis-master主节点插入数据,获取信息 ](./document/readme-image-010.png) redis-slave节点获取数据 get aaa **图 11** redis-slave节点查看数据 ![redis-slave主节点插入数据,获取信息](./document/readme-image-011.png) redis-slave节点获取数据 get aaa **图 12** redis-slave节点查看数据 ![redis-slave主节点插入数据,获取信息](./document/readme-image-012.png)