redis集群部署,结合sentinel监控

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: redis集群部署,结合sentinel监控

我把我集群搭建过程整理出来

1 官网下载redis,我用的是最新版stable版本

wget https://download.redis.io/redis-stable.tar.gz

注:我是自己测试,所以直接解压在root下。建议-O 指定其他路径


2 解压redis,且cd软件目录进行编译

tar xf redis-stable.tar.gz
cd redis-stable/ && make

注: redis环境,编译时候不需要make install,它已经预期安装编译环境了。当然,输入make install也可以。以下是编译成功的截图


3 创目录,复制配置文件

mkdir /etc/redis
cp /root/redis-stable/redis.conf /etc/redis/6379.conf
cp /root/redis-stable/utils/redis_init_script /etc/init.d/redis

4 修改开机启动的配置  /etc/init.d/redis

84a5a35d696c4aaf850755836e9960ac.png

将路径改为,cp之后的路径,且扔到后台执行,不要忘记了&符号

5 将redis设置为,开机启动,然后start redis,进行测试,以便检查单台redis是否部署成功

chmod +x /etc/init.d/redis 
chkconfig --add redis
chkconfig redis on
systemctl daemon-reload
systemctl start redis

6 运行redis客户端,来进行测试

/root/redis-stable/src/redis-cli

[root@localhost ~]# /root/redis-stable/src/redis-cli

127.0.0.1:6379> set name chenjiao

OK

127.0.0.1:6379> get name

"chenjiao"

127.0.0.1:6379> quit

[root@localhost ~]#  

7  我这块打算部署三台,其他两台步骤一样。本次实验中,我对持久化功能不进行配置,默认RDB是开启状态,AOF是关闭状态。我现在开始设置主从,修改reids配置文件。

第一步,配置主redis

vim /etc/redis/6379.conf

其中,关闭保护模式,监听本机所有地址即可,如图

1. bind 0.0.0.0
2. protected-mode no

第二步,配置其它两台从redis

vim /etc/redis/6397.conf,内容如下

1. slaveof 192.168.40.128 6379
2. bind 0.0.0.0
3. protected-mode no

写上主redis的ip即可

第三步,将三台redis重启

systemctl restart redis

8  可以登录redis客户端,输入info replication,看看主从是否搭建成功

/root/redis-stable/src/redis-cli

如图所示,从redis显示2

23dca8476e904b1e9b55ffd9e8c00d63.png

9  在每台机器上修改sentinel的配置文件,vim  /root/redis-stable/sentinel.conf   加上如下内容

sentinel monitor mymaster 192.168.40.128 6379 2
sentinel down-after-milliseconds mymaster 3000
sentinel failover-timeout mymaster 10000
protected-mode no

配置中重复内容需要注释掉,三台sentinel文件配置,保持一致,failover的时长,和断定master下线的主观时长,可以根据自己需要进行修改,单位为毫秒。


sentinel monitor 中数字2,是quorum的数量,两台sentinel断定主redis下线,才可以进行master_slave的角色转换

10 每台机器启动sentinel服务

1. cd /root/redis-stable
2. ./src/redis-sentinel  sentinel.conf

11 测试sentinel是否生效,可以关闭主redis,看其他两台slave是否随机生成一台master,且可以观察/etc/redis/6379.conf文件,发现里面多了replicateof的信息,或者通过运行redis客户端,info replication 来确定roles

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
2月前
|
Kubernetes NoSQL Redis
k8s快速部署Redis单机
k8s快速部署Redis单机
|
10天前
|
监控 NoSQL 算法
Redis Sentinel(哨兵)详解
Redis Sentinel(哨兵)详解
|
1月前
|
监控 NoSQL Redis
Redis Sentinel:秒杀系统背后的可靠性保障神器!
本文详细介绍了如何在个人项目中利用 Redis 哨兵模式保障系统的可靠性与高可用性。哨兵模式通过监控主从服务器状态、自动故障转移和通知客户端等功能,确保在主服务器宕机时系统仍能正常运行。适用于读请求多于写请求的场景,如秒杀系统,能有效缓解数据库压力。同时也探讨了哨兵模式在高并发场景下的优化方法及潜在缺陷,帮助开发者更好地应用该模式。
56 7
Redis Sentinel:秒杀系统背后的可靠性保障神器!
|
15天前
|
NoSQL Linux Shell
Redis 的安装与部署(图文)
Redis 的安装与部署(图文)
|
1月前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
2月前
|
运维 监控 NoSQL
【Redis】哨兵(Sentinel)原理与实战全解~炒鸡简单啊
Redis 的哨兵模式(Sentinel)是一种用于实现高可用性的机制。它通过监控主节点和从节点,并在主节点故障时自动进行切换,确保集群持续提供服务。哨兵模式包括主节点、从节点和哨兵实例,具备监控、通知、自动故障转移等功能,能显著提高系统的稳定性和可靠性。本文详细介绍了哨兵模式的组成、功能、工作机制以及其优势和局限性,并提供了单实例的安装和配置步骤,包括系统优化、安装、配置、启停管理和性能监控等。此外,还介绍了如何配置主从复制和哨兵,确保在故障时能够自动切换并恢复服务。
|
2月前
|
Kubernetes NoSQL Redis
【Azure Redis】部署在AKS中的应用连接Redis时候出现Unable to connect to Redis server
【Azure Redis】部署在AKS中的应用连接Redis时候出现Unable to connect to Redis server
【Azure Redis】部署在AKS中的应用连接Redis时候出现Unable to connect to Redis server
|
2月前
|
缓存 监控 NoSQL
【Azure Redis 缓存】Redis的监控方式? 是否有API接口调用来获取监控值
【Azure Redis 缓存】Redis的监控方式? 是否有API接口调用来获取监控值
|
2月前
|
缓存 NoSQL Redis
【Azure Redis 缓存】遇见Azure Redis不能创建成功的问题:至少一个资源部署操作失败,因为 Microsoft.Cache 资源提供程序未注册。
【Azure Redis 缓存】遇见Azure Redis不能创建成功的问题:至少一个资源部署操作失败,因为 Microsoft.Cache 资源提供程序未注册。
|
2月前
|
存储 人工智能 NoSQL
AI自动化!redis高效部署脚本
AI自动化!redis高效部署脚本
41 0