(1)Centos7
(2)JDK1.8
(3)docker
(4)redis6.0
主从+哨兵,一个主节点,两个从节点,三个哨兵
概念: 哨兵(sentinel主要功能:
监控(Monitoring):Sentinel会不断地检查你的主服务器和从服务器是否运作正常。
通知(Notification):当被监控的某个 Redis 服务器出现问题时, Sentinel可以通过API向管理员或者其他应用程序发送通知。
故障迁移:当主服务器不能正常工作时,Sentinel会自动进行故障迁移,也就是主从切换。
统一的配置管理:连接者询问sentinel取得主从的地址。
(1)服务器建议3台
只有两台的话一般是搭建一主一从两个哨兵,一旦有一个服务器宕机了,那么其所在redis和哨兵都没了,就只剩下另外一个,相当于单机版了。
分别在三台服务器 /home/docker/redis/conf目录下 创建redis.conf文件,从节点配置文件需要配置
replicaof
cd /home/docker mkdir redis cd redis mkdir conf cd conf vi redis.conf
内容如下
# 绑定ip 允许所有ip访问 bind 0.0.0.0 # 端口 port 6379 # 是否开启保护模式 yes开启的情况下,只能通过设置bind绑定的ip或者密码验证访问 protected-mode no # 以守护进程的方式运行 daemonize no # 日志存放地址 logfile ./redis.log # 密码验证 requirepass 123456 # 主节点访问密码 当master服务设置了密码保护时,slav服务连接master的密码 masterauth 123456 # 开启aof持久化 类似于mysql的binlog appendonly yes # 从节点需要设置主节点的IP和端口 #replicaof 192.168.8.49 63792、手动新建哨兵配置文件sentinel.conf
cd /home/docker mkdir redis cd redis mkdir conf cd conf vi sentinel.conf
内容如下:
# 端口 port 26379 # 是否开启保护模式 protected-mode no # 以守护进程的方式运行 daemonize no # 日志存放地址 logfile ./sentinel.log # 哨兵sentinel监控的redis主节点的 ip port quorum # 配置多少个sentinel哨兵统一认为master主节点失联 那么这时客观上认为主节点失联了 sentinel monitor mymaster 192.168.8.49 6379 2 # 密码认证 sentinel auth-pass mymaster 123456 # master在连续多长时间无法响应PING指令后,就会主观判定节点下线 sentinel down-after-milliseconds mymaster 3000 # 主备切换时最多可以有多少个slave同时对新的master进行同步 sentinel parallel-syncs mymaster 1 # 故障转移的超时时间 sentinel failover-timeout mymaster 1800003、获取镜像
docker pull redis:6.04、启动redis
三台服务器的启动命令都是一样
启动顺序:先主后从再哨兵
docker run -d -p 6379:6379 -v /home/docker/redis/data:/data -v /home/docker/redis/conf/redis.conf:/etc/redis/redis.conf --name redis --network=host --restart=always -d redis redis-server /etc/redis/redis.conf5、启动哨兵sentinel
docker run -p 26379:26379 --name sentinel-26379 --network=host --restart=always -v /home/docker/redis/conf/sentinel.conf:/etc/redis/sentinel.conf -v /home/docker/redis/data/sentinel:/data -d redis redis-sentinel /etc/redis/sentinel.conf遇到的问题:
1、docekr 的网络模式 需要选择为host ,不然哨兵有时候无法连通
所以我们启动命令中使用了–network=host
https://blog.csdn.net/succing/article/details/121265307?spm=1001.2014.3001.5506
https://blog.csdn.net/IT_rookie_newbie/article/details/120430807?spm=1001.2014.3001.5506



