1. 准备三台Linux服务器

准备以下三台服务器
192.168.227.97
192.168.227.98
192.168.227.99

然后分别在三台服务器上执行ping,看看它们之间能否相互平通,如下图所示,说明三台服务器之间相互通信没有问题,这一点很重要!!!
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. 关闭防火墙(放行端口)二选一

这里初学者我建议还是直接关闭防火墙,三台服务器都执行如下命令

systemctl stop firewalld 
systemctl disable firewalld

或者是放行搭建redis哨兵需要放行的端口(这里没有关闭防火墙)

firewall-cmd  --zone=public  --add-port=6379/tcp  --permanent
firewall-cmd  --zone=public  --add-port=26379/tcp  --permanent
firewall-cmd  --reload

3. 安装redis

这里使用的是redis-5.0.0.tar.gz,下载地址,上传到上述三台服务器,执行如下命令

解压安装包
tar -zxvf redis-5.0.0.tar.gz
执行cd redis-5.0.0进入解压后的redis安装目录下
然后执行make命令进行编译安装
上述三台服务器一次执行上面操作

在这里插入图片描述

4. 修改redis.conf配置文件

将192.168.227.97这台服务器作为主机,修改他的redis.conf

#注释bind这行,这样其他服务器可以访问本机redis
#bind 127.0.0.1
#关闭保护模式,使外网能访问
protected-mode no
#后台运行
daemonize yes
#开启redis持久化AOF
appendonly yes

将192.168.227.98,192.168.227.99作为从机,修改他们的redis.conf

#注释bind这行,这样其他服务器可以访问本机redis
#bind 127.0.0.1
#关闭保护模式,使外网能访问
protected-mode no
#后台运行
daemonize yes
#开启redis持久化AOF
appendonly yes
设置从机的主机ip和端口号
replicaof 192.168.227.97 6379

5. 修改sentinel配置文件

三台服务器都这样修改

#关闭保护模式,使外网能访问
protected-mode no
#后台运行 
daemonize yes
#配置哨兵需要监控的主节点ip和端口,最后的2代表,如果有2个哨兵主观认为主节点down了,那么就客观认为主节点down掉了,开始发起投票选举新主节点的操作。多个主节点配置多个
sentinel monitor master 192.168.227.97 6379 2
#配置多少毫秒后没收到主节点的反馈,则主观认为主节点down了
sentinel down-after-milliseconds master 5000
#failover过期时间。当failover开始后,在此时间内仍然没有触发任何failover操作,当前sentinel将会认为此次failoer失败。  
sentinel failover-timeout master 30000

6. 启动redis和sentinel

先执行以下命令启动三台redis

cd /usr/local/src/redis-5.0.0/src    这是redis启动命令所在目录
./redis-server ../redis.conf

在这里插入图片描述
执行./redis-cli进入redis客户端界面,在执行info命令可以看到如下内容
97主机上:
在这里插入图片描述

98从机上:
在这里插入图片描述
99从机上:
在这里插入图片描述
再执行以下命令启动三台sentinel,如下图所示启动成功

./redis-sentinel ../sentinel.conf

在这里插入图片描述

7. 模拟测试哨兵效果

现在在主机上查询redis服务进程号,然后执行kill-9 进程号使得主机上的redis服务挂掉

ps -ef | grep redis
kill -9   redis服务进程号

在这里插入图片描述
这个时候再来看看从机的情况
98从机上:
在这里插入图片描述
99从机上:
在这里插入图片描述
现在启动刚才kill掉主机redis服务看看效果
在这里插入图片描述
现在看到重新启动97上面的redis已变成从机
在这里插入图片描述
再看看98主机,发现它现在有97和99两台从机,到此redis哨兵搭建完成
在这里插入图片描述
在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐