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是从

浙公网安备 33010602011771号