redis高可用环境搭建(主从+哨兵)

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: redis高可用环境搭建(主从+哨兵)


redis集群环境搭建
1.redis安装
1 首先上官网下载Redis 压缩包,地址:http://redis.io/download 下载稳定版即可

2 在下载的压缩包目录下解压压缩包

  tar -xzf redis-4.0.11.tar.gz

  解压成功后会显示如下图

3 进入redis目录执行 make 编译命令

4 编译成功后进入src文件夹,执行make install进行redis安装

5 为了方便管理及避免操作失误,将redis文件中的conf配置文件和常用命令移动到同一文件中。

创建bin和etc文件夹

mkdir bin

mkdir etc

        复制文件

cp redis.conf etc

cd src

cp redis-server redis-cli ../bin

2.redis集群配置
主从节点的配置修改

修改各节点redis.conf的几项配置:

1.将bind 127.0.0.1 改为 bind 0.0.0.0 其目的是为了可以让远程进行访问。还有一种说法:

bind配置了什么ip,别人就得访问bind里面配置的ip才访问到redis服务,如果不是本机的ip , redis启动会报错

bind 0.0.0.0等价于 不配置 bind 即注释掉bind

2.requirepass avicit 设置访问密码

3.将 daemonize no 改为 daemonize yes 以守护进程进行访问

4.masterauth avicit 当master服务设置了密码保护时,slave服务连接master的密码(哨兵在进行故障主从切换时会动态更新配置文件,该节点可能会切换为从身份,初始不管主从都需要设置)

  1. slaveof 设置master服务的IP地址及端口,表示该节点为从节点。在Redis启动时,它会自动从master进行数据同步。只有从节点配置该项。例:slaveof 10.216.70.104 6377

6.如果在本机搭建主从集群,还需要将pidfile、logfile、dbfilename文件名进行修改,以免多个节点相关文件覆盖。

配置完成后依次启动主从节点

先启动主节点:redis-server ../etc/redis6377.conf (这是我本机的主节点配置,redis.conf文件可重新命名,启动时指向对文件就行),启动后进入客户端通过 info replication 查看节点信息

 此时主节点信息为

哨兵集群配置

修改sentinel.conf文件几项配置

1.port 默认为26379

2.设置protected-mode no (配置中没有改项需要添加) 关闭禁止公网访问redis

3.sentinel monitor mymaster 10.216.70.104 6377 2 (mymaster自定义命名,需要各个地方统一,默认为mymaster,ip及端口为主节点的ip端口,最后的2代表,当集群中有2个sentinel认为master死了时,才能真正认为该master已经不可用了。)

4.sentinel auth-pass mymaster avicit 访问主节点的密码

5.sentinel down-after-milliseconds mymaster 30000 30秒(根据情况修改时间)后sentinel认为主节点不可用,进行切换主从。

启动哨兵

bin/redis-server sentinel.conf —sentinel

相关实践学习
基于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
相关文章
|
4月前
|
NoSQL Redis
基于Redis的高可用分布式锁——RedLock
这篇文章介绍了基于Redis的高可用分布式锁RedLock的概念、工作流程、获取和释放锁的方法,以及RedLock相比单机锁在高可用性上的优势,同时指出了其在某些特殊场景下的不足,并提到了ZooKeeper作为另一种实现分布式锁的方案。
131 2
基于Redis的高可用分布式锁——RedLock
|
5月前
|
存储 缓存 NoSQL
Redis常见面试题(二):redis分布式锁、redisson、主从一致性、Redlock红锁;Redis集群、主从复制,哨兵模式,分片集群;Redis为什么这么快,I/O多路复用模型
redis分布式锁、redisson、可重入、主从一致性、WatchDog、Redlock红锁、zookeeper;Redis集群、主从复制,全量同步、增量同步;哨兵,分片集群,Redis为什么这么快,I/O多路复用模型——用户空间和内核空间、阻塞IO、非阻塞IO、IO多路复用,Redis网络模型
Redis常见面试题(二):redis分布式锁、redisson、主从一致性、Redlock红锁;Redis集群、主从复制,哨兵模式,分片集群;Redis为什么这么快,I/O多路复用模型
|
5月前
|
监控 NoSQL Redis
Redis 哨兵模式高可用
Redis 哨兵模式高可用
91 4
|
2月前
|
监控 NoSQL 算法
Redis Sentinel(哨兵)详解
Redis Sentinel(哨兵)详解
156 4
|
2月前
|
存储 NoSQL 大数据
大数据-51 Redis 高可用方案CAP-AP 主从复制 一主一从 全量和增量同步 哨兵模式 docker-compose测试
大数据-51 Redis 高可用方案CAP-AP 主从复制 一主一从 全量和增量同步 哨兵模式 docker-compose测试
45 3
|
3月前
|
存储 NoSQL Redis
SpringCloud基础7——Redis分布式缓存,RDB,AOF持久化+主从+哨兵+分片集群
Redis持久化、RDB和AOF方案、Redis主从集群、哨兵、分片集群、散列插槽、自动手动故障转移
SpringCloud基础7——Redis分布式缓存,RDB,AOF持久化+主从+哨兵+分片集群
|
4月前
|
运维 监控 NoSQL
【Redis】哨兵(Sentinel)原理与实战全解~炒鸡简单啊
Redis 的哨兵模式(Sentinel)是一种用于实现高可用性的机制。它通过监控主节点和从节点,并在主节点故障时自动进行切换,确保集群持续提供服务。哨兵模式包括主节点、从节点和哨兵实例,具备监控、通知、自动故障转移等功能,能显著提高系统的稳定性和可靠性。本文详细介绍了哨兵模式的组成、功能、工作机制以及其优势和局限性,并提供了单实例的安装和配置步骤,包括系统优化、安装、配置、启停管理和性能监控等。此外,还介绍了如何配置主从复制和哨兵,确保在故障时能够自动切换并恢复服务。
|
5月前
|
监控 NoSQL Ubuntu
|
5月前
|
负载均衡 NoSQL 应用服务中间件
搭建高可用及负载均衡的Redis
【7月更文挑战第10天】
202 1