1:安装Redis
linux ubuntu安装Redis_ubuntu离线安装redis7.2.5-CSDN博客
2:配置一主二从
3:创建哨兵目录
到达redis 根目录
cd /usr/redis/
# 创建主从工作目录
mkdir -p replication/26379 # master 节点
mkdir -p replication/26378 # 从节点
mkdir -p replication/26377 # 从节点
# 创建日志目录
mkdir -p log/26379 # master 节点
mkdir -p log/26378 # 从节点
mkdir -p log/26377 # 从节点
# 创建pid目录
mkdir -p run/26379 # master 节点
mkdir -p run/26378 # 从节点
mkdir -p run/26377 # 从节点
4:修改哨兵配置
cd /usr/redis/redis-7.2.5/
vi sentinel.conf
# 修改Sentinel监听端口
port 26379
# 设置为no,允许外部网络访问 (不能漏了)
protected-mode no
# 允许Sentinel后台运行
daemonize yes
# 设置Sentinel日志存放路径 同样需要手动touch创建
logfile "/usr/redis/log/26379/sentinel.log"
pid 文件
pidfile "/usr/redis/run/26379/redis-sentinel.pid"
# 指定数据文件的存放位置,因为需要在一台机器启动两个实例,所以必须指定不同的位置,不然会丢失数据
dir /usr/redis/replication/26379/
# mymaster:master名称可自定义,127.0.0.1 6379 :redis主节点IP和端口,2 :表示多少个Sentinel认为redis主节点失效时,才算真正失效
sentinel monitor mymaster 127.0.0.1 6379 2
# 配置失效时间,master会被这个sentinel主观地认为是不可用的,单位毫秒
sentinel down-after-milliseconds mymaster 10000
# 若sentinel在该配置值内未能完成master/slave自动切换,则认为本次failover失败。
sentinel failover-timeout mymaster 60000
# 在发生failover主备切换时最多可以有多少个slave同时对新的master进行同步。
sentinel parallel-syncs mymaster 2
# 设置连接master和slave时的密码,注意的是sentinel不能分别为master和slave设置不同的密码,因此master和slave的密码应该设置相同
sentinel auth-pass mymaster 123456
5:启动
/usr/redis/redis-7.2.5/src/redis-sentinel /usr/redis/redis-7.2.5/sentinel.conf
6:配置另外两个哨兵
cd /usr/redis/redis-7.2.5
复制配置文件
cp sentinel.conf sentinel_26378.conf
cp sentinel.conf sentinel_26377.conf
替换 文案
sed -i 's/26379/26378/g' sentinel_26378.conf
sed -i 's/26379/26377/g' sentinel_26377.conf
启动
/usr/redis/redis-7.2.5/src/redis-sentinel /usr/redis/redis-7.2.5/sentinel_26378.conf
/usr/redis/redis-7.2.5/src/redis-sentinel /usr/redis/redis-7.2.5/sentinel_26377.conf
7:重新启动 1主 2从 3哨兵
杀掉所有redis 进程
kill -s 9 $(ps -ef |grep redis-server |awk '$0 !~/grep/ {print $2'})
kill -s 9 $(ps -ef |grep redis-sentinel |awk '$0 !~/grep/ {print $2'})
启动 1主
/usr/redis/redis-7.2.5/src/redis-server /usr/redis/redis-7.2.5/redis.conf
启动 2从
/usr/redis/redis-7.2.5/src/redis-server /usr/redis/redis-7.2.5/redis_6378.conf
/usr/redis/redis-7.2.5/src/redis-server /usr/redis/redis-7.2.5/redis_6377.conf
启动 3哨兵
/usr/redis/redis-7.2.5/src/redis-sentinel /usr/redis/redis-7.2.5/sentinel.conf
/usr/redis/redis-7.2.5/src/redis-sentinel /usr/redis/redis-7.2.5/sentinel_26378.conf
/usr/redis/redis-7.2.5/src/redis-sentinel /usr/redis/redis-7.2.5/sentinel_26377.conf
结果
8:启动客户端
/usr/redis/redis-7.2.5/src/redis-cli -p 6379 -a 123456
127.0.0.1:6379> info
9:查看哨兵配置
tail -500f /usr/redis/redis-7.2.5/sentinel.conf
下面的配置自动生成
10:测试高可用 主从自动切换
ps -ef |grep redis
kill -9 6279端口的pid
11 查看结果
查看日志
tail -500f /usr/redis/log/26379/sentianl.log
查看主从信息
/usr/redis/redis-7.2.5/src/redis-cli -p 6377 -a 123456
127.0.0.1:6379> info
重启 6379节点
/usr/redis/redis-7.2.5/src/redis-server /usr/redis/redis-7.2.5/redis.conf
重启 6379节点 查看主从信息
/usr/redis/redis-7.2.5/src/redis-cli -p 6377 -a 123456
127.0.0.1:6379> info
重启6379节点之前
重启节点6379之后
11:完美收官 Redis 哨兵高可用
参考资料
A:安装
Redis安装Linux ubuntu_ubuntu离线安装redis7.2.5-CSDN博客