redis主从集群加哨兵配置

本文详细介绍了如何在Linux环境下手动搭建Redis的一主两从集群,并配置Sentinel哨兵进行高可用性保障。从环境准备、Redis系统安装到SpringBoot应用配置,每个步骤都有清晰的操作指南,包括主从复制测试和故障转移验证。
摘要由CSDN通过智能技术生成

redis主从集群搭建

redis作为当前炙手可热的NOSQL系统,本身就支持主从集群,下面我们就来动手搭建一个一主两从的redis集群。

一、安装操作

1、环境准备

这里使用三台服务器,按照1主2从3哨兵配置,每台服务器上开启一个redis-server和redis-sentinel哨兵服务,redis-server端口为8000,redis-sentinel的端口为6800,端口也可以使用默认端口,一般线上环境会修改。

redis-server说明
192.168.68.110:8000 主
192.168.68.111:8000 从
192.168.68.112:8000 从

redis-sentinel 哨兵说明
192.168.68.110:6800
192.168.68.111:6800
192.168.68.112:6800

2、搭建redis系统

1 检查是否安装了 gcc环境,如果没有请安装,否则后面会出现编译错误,gcc: Command not found**

yum list installed | grep gcc   #查看是否安装
 yum install gcc  #安装

2 下载redis,并编译
wget http://download.redis.io/releases/redis-4.0.9.tar.gz

tar xzf redis-4.0.9.tar.gz

cd redis-4.0.9

make

如果编译失败,重新编译:
make MALLOC=libc

3 修改配置文件redis.conf

cd /usr/local/redis
vi redis.conf

主节点192.168.68.110上的配置

port  8000         
daemonize  yes
bind  192.168.68.110 #如果要开放连接的话 则可以修改为0.0.0.0
requirepass 123456   #如果需要密码可以设置  不需要可以不设置
pidfile   /var/run/redis-8000.pid
logfile   /var/log/redis/redis-8000.log

从节点192.168.68.111,192.168.68.112上的配置

port  8000
daemonize  yes
bind  192.168.68.111  #192.168.68.112 #如果要开放连接的话 则可以修改为0.0.0.0
requirepass 123456 #如果需要密码可以设置  不需要可以不设置
masterauth 123456  #这是主节点的密码 如果master 设置了密码 这里必须设置
pidfile   /var/run/redis-8000.pid
logfile   /var/log/redis/redis-8000.log
slaveof  192.168.68.110 8000 #这是主节点的ip 和端口  注意中间没有冒号

4 启动三台机器上的redis
./src/redis-server ./redis.conf #启动redis

三个redis服务启动完毕后,进入命令行,执行info replication查看当前主从配置
master 节点显示
在这里插入图片描述

slave 节点显示
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wnT0t9SZ-1619597838764)(http://192.168.1.87/showdoc/server/../Public/Uploads/2019-05-30/5cef9c395d503.png)]

如果如上图所示没有发现从节点,很有可能是防火墙没有开放8000端口导致主从节点之间没法通信

执行以下命令 将端口加入白名单 或者关闭防火墙
firewall-cmd --zone=public --add-port=8000/tcp --permanent
firewall-cmd --zone=public --add-port=6800/tcp --permanent
firewall-cmd --reload

3、搭建redis-sentinel系统

vi /usr/local/redis/sentinel.conf

修改下面的配置 3台机器的哨兵都需要修改这个配置

protected-mode no
daemonize yes #后台启动
port  6800 #端口号

#master 节点的地址和端口 2 代表法定人数 即需要2个哨兵报告的情况下才会自动故障转移
sentinel monitor mymaster 192.168.68.110 8000 2 

sentinel auth-pass mymaster 123456//如果主节点设置了密码这里必须设置 如果没有设置密码 本行可以忽略
#5秒内master6800没有响应,就认为SDOWN
sentinel down-after-milliseconds mymaster 5000 
# 故障切换超时时间
sentinel failover-timeout mymaster 15000
logfile  /var/log/redis/sentinel.log
pidfile  /var/run/sentinel.pid
<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值