ubuntu 1804 搭建redis一主两从三哨兵

一,环境准备

先释放redis的两个端口

iptables -I INPUT -p tcp --dport 6379 -j ACCEPT
iptables -I INPUT -p tcp --dport 26379 -j ACCEPT

1 10.0.0.101  主 master    哨兵sentinel
2 10.0.0.102  从 slave     哨兵sentinel
3 10.0.0.103  从 slave     哨兵sentinel

二,下载相关依赖

三台机器都需要安装

1 apt -y install gcc make

三,三台机器安装redis

这里就不展示了,可以参考https://www.cnblogs.com/lijl11/p/15026673.html

附加脚本

#!/bin/bash
DIR=`pwd`
echo $DIR
redis_file="redis-4.0.9.tar.gz"
redis_file2="redis-4.0.9"
redis_DIR="/apps"
tar -xvf $DIR/$redis_file
cd $redis_file2
make
make install PREFIX=$redis_DIR/redis
mkdir /apps/redis/{run,log} -p
\cp $DIR/$redis_file2/redis.conf $redis_DIR/redis/bin/
\cp $DIR/$redis_file2/sentinel.conf $redis_DIR/redis/bin/

四,主从哨兵配置

这两个文件通过脚本都复制到了/apps/redis/bin下。后续直接在这个下边修改即可

1 redis.conf 配置主从
2 sentinet.conf 配置哨兵

五,修改redis.conf文件

三台机器都需要配置

vim /apps/redis/bin/redis.conf

1 bind 0.0.0.0 #配置ip地址 配置0.0.0.0让程序更加兼容
2 daemonize yes #支持后台运行
3 logfile "/apps/redis/log/redis.6379.log" #redis日志路径

六,修改sentinel.conf文件

三台机器都需要配置

123点要新增到sentinel.conf文件中

vim /apps/redis/bin/sentinel.conf

1 bind 0.0.0.0
2 daemonize yes
3 logfile "/apps/redis/log/redis_26379.log"
4 sentinel monitor mymaster 10.0.0.101 6379 2 #指定监控master “2” 表示故障恢复时需要的哨兵数

七,修改两台slave主机的redis.conf文件

指定master

vim /apps/redis/bin/redis.conf

1 slaveof 10.0.0.101 6379
2 slave-read-only yes #从库只读

八,启动三台redis

1 cd /apps/redis/bin
2 ./redis-server redis.conf
3 netstat -anptu | grep redis

九,查看redis主从信息

1 ./redis-cli
2 info replication

十,测试主从同步

master 节点

10.0.0.101

slave 节点

10.0.0.102

10.0.0.103

十一,启动哨兵

1 ./redis-sentinel sentinel.conf
2 ss -ntl

十二,验证哨兵

当前三台机器的状态

master

两台slave

kill掉10.0.0.101主机的redis(目前他是主)

没有6379端口了,redis挂掉了。

看看10.0.0.102 和 10.0.0.103 两台slave从机器,会不会有一台变成master主

现在10.0.0.102是主 10.0.0.103是从

posted @ 2021-07-19 22:19  提笔画江山  阅读(165)  评论(0)    收藏  举报