redis 主从复制 +哨兵

131 阅读1分钟

准备工作


  1. make /home/docker/redis
  2. mkdir redis-6388-data
  3. mkdir redis-6381-data
  4. mkdir redis-6380-data
  5. touch redis-6388.conf
  6. touch redis-6381.conf
  7. touch redis-6380.conf


1.  port 6388
1.  logfile "redis-6388.log"
1.  dir /data
1.  appendonly yes
1.  appendfilename appendonly.aof


1.  port 6380
1.  logfile "redis-6380.log"
1.  dir /data
1.  appendonly yes
1.  appendfilename appendonly.aof
1.  slaveof ip 6388


启动容器

docker run -p 6388:6388 --net=host --restart=always --name redis-6388 -v /home/docker/redis/redis-6388.conf:/etc/redis/redis-6388.conf -v /home/docker/redis/redis-6388-data:/data -d redis redis-server /etc/redis/redis-6388.conf

执行结果


1. 进入容器 redis-cli -p 6388
2. info replication 查看状态

图片2.png

图片3.png

3. 在redis 里创建 redis-master redis-sales1 redis-sales2\   3 个数据库 进行存值 取值 测试
4. 一定要在服务器里 开放端口

图片1.png



启动哨兵


  1. madir sentinel-26388-data
  2. madir sentinel-26381-data
  3. madir sentinel-26380-data
  4. touch sentinel-26388.conf
  5. touch sentinel-26381.conf
  6. touch sentinel-26380.conf


1. vim sentinel-26388.conf
2. port 26388
   dir "/data"
   logfile "sentinel-26388.log"
   sentinel monitor mymaster ip 6388 2
   sentinel down-after-milliseconds mymaster 10000
   sentinel failover-timeout mymaster 60000
3. 同上   

docker run -p 26388:26388 --restart=always --name sentinel-26388 -v/home/docker/redis/sentinel-26388.conf:/etc/redis/sentinel.conf -v /home/docker/redis/sentinel-26388-data:/data -d redis redis-sentinel /etc/redis/sentinel.conf
1. 进入容器 redis-cli -p 26388
2. info sentinel /查看哨兵状态
3. 停止6388 容器 docker stop redis-6388 测试哨兵 是否配置成功