redis哨兵模式搭建和使用

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: 本文主要介绍如何搭建Redis哨兵模式以及Springboot如何配置redis哨兵模式

一、环境准备

哨兵模式基于主从模式。准备三台服务器(centos7),搭建1主2从 3哨兵

172.27.160.35 (master)

172.27.160.36 (slave1)

172.27.160.37 (slave2)

二、安装redis

1、安装依赖

yum install wget gcc

2、创建redis目录,下载redis、解压、编译和安装

wget http://download.redis.io/releases/redis-5.0.5.tar.gz

tar -xzvf redis-5.0.5.tar.gz

mv redis-5.0.5 redis

进入redis/src 目录下执行 make && make install

3、修改配置文件(三台服务器均要修改的地方)

vim redis.conf

## 修改1:注释如下行,表示redis可以接收任意ip的连接

# bind 127.0.0.1

## 修改2:关闭保护模式

protected-mode no

## 修改3:开启redis服务后台运行

daemonize yes

## 修改4:添加日志路径,便于排查问题

logfile "/usr/local/redis/redis.log"

## 修改5:appendonly yes

## 修改6:dir /usr/local/redis

## 修改7:appendonly yes

## 修改8:

replicaof 172.27.160.35 6379  (#master节点不需要配置这个)

masterauth 123456

requirepass 123456

cluster-node-timeout 5000

图片1.png

图片2.png

图片3.png图片4.png图片5.png

4、启动redis服务

./src/redis-server redis.conf

默认密码123456

登录命令:redis-cli -h 127.0.0.1 -p 6379 -a 123456

图片6.png图片7.png图片8.png

集群搭建完毕


三、添加哨兵并修改配置文件

三台服务器分别启动sentinel

1、修改配置文件 vim sentinel.conf

## 修改1:让sentinel服务后台运行

daemonize yes

## 修改2:增加日志文件路径

logfile "/usr/local/redis/redis-sentinel.log"

dir /usr/local/redis

## 修改3:取消注释,增加主服务信息和需要进行选举的法定个数(两台从服务器)

sentinel monitor mymaster 172.27.160.35 6379 2

sentinel auth-pass mymaster 123456

2、启动哨兵服务

./src/redis-sentinel sentinel.conf

3、测试主从复制和哨兵模式

哨兵测试:shutdown master节点,观察重新选举的过程


图片9.png

再恢复原来的master节点

图片10.png


四、springboot集成redis集群和哨兵

新建一个springboot工程,配置连接信息


增加依赖:

<dependency>

   <groupId>org.springframework.boot</groupId>

   <artifactId>spring-boot-starter-data-redis</artifactId>

   <!-- 排除lettuce包,使用jedis代替-->
   <exclusions>

       <exclusion>

           <groupId>io.lettuce</groupId>

           <artifactId>lettuce-core</artifactId>

       </exclusion>

   </exclusions>

</dependency>

<dependency>

   <groupId>redis.clients</groupId>

   <artifactId>jedis</artifactId>

</dependency>


yml配置文件如下:


spring:

 redis:

   cluster:

     nodes: 192.168.200.135:6379,192.168.200.136:6379,192.168.200.137:6379

   password: 420188

   timeout: 6000

   database: 0

   jedis:

     pool:

       max-active: 8

       max-wait: -1

       max-idle: 8

       min-idle: 0

   sentinel:

     master: mymaster

     nodes: 192.168.200.135:26379,192.168.200.136:26379,192.168.200.137:26379


使用以上配置即可连接redis哨兵。

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
6月前
|
监控 负载均衡 NoSQL
Redis之哨兵模式
Redis之哨兵模式
|
6月前
|
消息中间件 NoSQL Redis
Redis高可用之哨兵模式(第二部分)
Redis高可用之哨兵模式(第二部分)
|
4月前
|
存储 缓存 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多路复用模型
|
4月前
|
监控 NoSQL Redis
Redis 哨兵模式高可用
Redis 哨兵模式高可用
73 4
|
6月前
|
监控 NoSQL 算法
Redis之哨兵模式
【1月更文挑战第8天】哨兵模式说白点就是:自动选举老大的模式。
255 11
|
5月前
|
运维 监控 NoSQL
Redis Sentinel哨兵模式部署
Redis Sentinel哨兵模式部署
101 2
|
22天前
|
存储 NoSQL 大数据
大数据-51 Redis 高可用方案CAP-AP 主从复制 一主一从 全量和增量同步 哨兵模式 docker-compose测试
大数据-51 Redis 高可用方案CAP-AP 主从复制 一主一从 全量和增量同步 哨兵模式 docker-compose测试
29 3
|
6月前
|
存储 监控 负载均衡
redis 集群 (主从复制 哨兵模式 cluster)
redis 集群 (主从复制 哨兵模式 cluster)
|
2月前
|
NoSQL 网络协议 Redis
Redis的主从复制和哨兵模式
本文详细介绍了Redis的主从复制配置、原理(包括全量复制和增量复制)以及如何搭建一主二从的Redis集群,同时还探讨了Redis哨兵模式的概念、配置文件、以及如何配置一主二从三哨兵的Redis哨兵模式,以实现高可用性。
|
3月前
|
监控 NoSQL 算法
深入理解Redis哨兵模式原理
该文章讨论了Redis Sentinel模式的原理及其在Redis高可用性中的角色。
深入理解Redis哨兵模式原理