【redis|redis-集群-2-哨兵模式】三台哨兵、三台redis服务器。
一、redis配置 主redis配置:
cd /etc/redis从redis配置:
sudo vi redis.conf
#配置内容
port 6379
daemonize yes#开启保护进程
protected-modeno# 进行主从复制。
bind 192.168.137.140 #绑定的IP,服务器的公网IP
requirepass Huawei@123#设置密码,主从密码设置一样
port 6379启动reids的客户端
daemonize yes#开启保护进程
protected-modeno# 进行主从复制。
bind 192.168.137.141#绑定的IP,服务器的公网IP
requirepass Huawei@123#设置密码,主从密码设置一样
#
#从redis要多配置
masterauthHuawei@123#主redis的密码
slaveof192.168.137.140 6379#主IP 主端口
>redis-cli -h 192.168.137.140 -p 6379
>redis-cli -h 192.168.137.141 -p 6379
>redis-cli -h 192.168.137.142 -p 6379
二、哨兵配置 配置哨兵,sentinel.conf文件
cd /etc/redis启动哨兵
sudo vi sentinel.conf#文件名不能错
最简单的配置:
sentinel monitor myredis 192.168.137.140 6379 1
sentinel auth-pass myredis Huawei@123#主从机密码设置一样
cd /etc/redis启动可能遇到的报错:
sudo redis-sentinel./sentinel.conf
5151:X 30 Jul 22:10:41.425 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo三、测试 进入主redis中,shutdown,模拟主redis出故障,等待几分钟,查看是否自动选举出新的主redis
5151:X 30 Jul 22:10:41.425 # Redis version=4.0.9, bits=64, commit=00000000, modified=0, pid=5151, just started
5151:X 30 Jul 22:10:41.425 # Configuration loaded
5151:X 30 Jul 22:10:41.427 * Increased maximum number of open files to 10032 (it was originally set to 1024).
5151:X 30 Jul 22:10:41.427 # Creating Server TCP listening socket *:26379: bind: Address already in use
主要报错:
5151:X 30 Jul 22:10:41.427 # Creating Server TCP listening socket *:26379: bind: Address already in use
解决方法:
ps -aux|grep 26379
找到进程号,假设是6374
sudo kill -9 6374#把占用了26379端口的进程强制杀掉
192.168.137.140:6379> auth Huawei@123#输入密码才能进入
192.168.137.140:6379> shutdown
192.168.137.141:6379> auth Huawei@123
192.168.137.141:6379> inforeplication
role:master#角色,是主服务器
connected_slaves:1#连接的从服务器数
slave0:ip=192.168.137.142,port=6380,state=online,offset=318500,lag=1
推荐阅读
- 链表|多线程环境下,HashMap为什么会出现死循环()
- Redis|Redis五种基本数据类型-Set
- 数据库|Redisson 高性能 Redis 分布式锁源码分析
- idea|spring boot 集成redis
- java|redis——缓存穿透、击穿、雪崩
- JAVA|redis之缓存穿透、缓存击穿、缓存雪崩
- Redis|Redis基础篇(7)——缓存穿透、缓存击穿和缓存雪崩
- 数据库|Redis 的缓存异常处理 —— 缓存雪崩、缓存击穿、缓存穿透
- 后端数据库|面试必问(Redis 如何实现库存扣减操作())