龙空技术网

基于哨兵模式的redis集群搭建及验证(一主二从三哨兵)

Java世界观 173

前言:

今天我们对“redis三主三从三哨兵”大致比较关注,大家都想要分析一些“redis三主三从三哨兵”的相关文章。那么小编在网摘上搜集了一些有关“redis三主三从三哨兵””的相关内容,希望你们能喜欢,姐妹们一起来学习一下吧!

一、验证环境

1、操作系统:linux

2、redis版本:redis-6.0.10.tar.gz

二、验证步骤:

本次验证方案为:采用一主(master)二从(slave)三(sentinel)的架构模式

基本环境配置关闭防火墙、selinux

sudo ufw disablesudo setenforce 0
修改主机名
sudo hostnamectl set-hostname Redis-mastersudo hostnamectl set-hostname Redis-slave1sudo hostnamectl set-hostname Redis-slave2
修改Host文件

vim /etc/hosts

10.180.4.225     Redis-master10.180.4.217     Redis-slave110.180.4.214     Redis-slave2
安装REDIS
解压编译安装tar zxvf redis-6.0.10.tar.gzmv redis-6.0.10 /usr/local/rediscd /usr/local/redismake
# 如果报错,说明没有gcc,请安装gcc后在继续
#查看gcc版本gcc -v# 版本升级yum -y install centos-release-sclyum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutilsscl enable devtoolset-9 bashmake

现在再执行 make 进行编译(如下成功):

#  make....    CC timeout.o    CC setcpuaffinity.o    LINK redis-server    INSTALL redis-sentinel    CC redis-cli.o    LINK redis-cli    CC redis-benchmark.o    LINK redis-benchmark    INSTALL redis-check-rdb    INSTALL redis-check-aofHint: It's a good idea to run 'make test' ;)make[1]: 离开目录“/usr/local/redis/redis-6.0.10/src”# 输出以上说明成功!

安装(如图成功)

#  make install
主从/哨兵配置

redis.conf配置主从, sentinel.conf配置哨兵

主机

【通用配置】

下面3项,在每个redis.conf里进行修改,在每个sentinel.conf里新增

#支持内网/本地访问,bind 0.0.0.0#支持后台运行,默认值为nodaemonize yes
【slave的配置】

在2个slave的redis.conf下指定master

vim /usr/local/redis/redis.conf

#指定masterslaveof  10.180.4.225  6379#设置从库只读slave-read-only yes  
【3台机器的sentinel的配置】

vim /usr/local/redis/sentinel.conf

在 entinel.conf下指定监控的master

#指定监控的master , “2”表明故障恢复需要的哨兵数量sentinel monitor mymaster 10.180.4.225 6379 2
启动

分别启动主从redis, 查看端口运行状态,验证没问题

# redis-server redis.conf# netstat -anptu | grep redis

主从节点都启动成功

关闭

redis-cli shutdown
连接REDIS查看主从信息

cli连接redis成功后, 输入 info replication

下面是master的replication信息

Master

登录从库可以看到主库的状态

slave1

slave2

测试主从同步在master 端操作

master

在selave 端查看

slave1

slave1

slave2

slave2

启动哨兵

---- (有部署哨兵的都启动) ----

[root@4 redis-6.0.10]# redis-sentinel sentinel.conf [root@4 redis-6.0.10]# netstat -anptu | grep redis
故障转移关闭Redis-master的redis-server进程.
[root@4 redis-6.0.10]# redis-cli -h 10.180.4.225 -p 6379 shutdown

查看主从信息

slave110.180.4.217

master已经转移到Slave2(10.180.4.214)上

当故障转移成功后, redis就是一主一从

服务现状

slave1

slave210.180.4.214

slave从节点现在变为10.180.4.21710.180.4.225(启动后)

标签: #redis三主三从三哨兵