redis 简单整理——哨兵部署业务图[二十九]

前言

简单介绍一下哨兵的部署业务图,非部署步骤。

正文

看一下部署的拓扑图:

redis 简单整理——哨兵部署业务图[二十九]

然后这里用docker 来部署一下哨兵模式。

搭建一主二从。

version: '3.7'
services:
  master:
    image: redis
    container_name: redis-master
    restart: always
    command: redis-server --requirepass GaosiDev --masterauth GaosiDev  
    ports:
      - 6388:6379

  slave1:
    image: redis
    container_name: redis-slave-1
    restart: always
    command: redis-server --slaveof redis-master 6379  --requirepass GaosiDev --masterauth GaosiDev  
    ports:
      - 6381:6379


  slave2:
    image: redis
    container_name: redis-slave-2
    restart: always
    command: redis-server --slaveof redis-master 6379  --requirepass GaosiDev --masterauth GaosiDev  
    ports:
      - 6382:6379

然后启动一下:

docker-compose up -d

然后直接可以看到:
redis 简单整理——哨兵部署业务图[二十九]

这里就创建好了。

接下来就创建sentinel:

version: '2'
services:
  sentinel1:
    image: redis       ## 镜像
    container_name: redis-sentinel-1
    ports:
    - "26379:26379"
    command: redis-sentinel /usr/local/etc/redis/sentinel.conf
    volumes:
    - "./sentinel1.conf:/usr/local/etc/redis/sentinel.conf"
  sentinel2:
    image: redis                ## 镜像
    container_name: redis-sentinel-2
    ports:
    - "26380:26379"           
    command: redis-sentinel /usr/local/etc/redis/sentinel.conf
    volumes:
    - "./sentinel2.conf:/usr/local/etc/redis/sentinel.conf"
  sentinel3:
    image: redis                ## 镜像
    container_name: redis-sentinel-3
    ports:
    - "26381:26379"           
    command: redis-sentinel /usr/local/etc/redis/sentinel.conf
    volumes:
    - ./sentinel3.conf:/usr/local/etc/redis/sentinel.conf
networks:
  default:
    external:
      name: redis-sentinel_default    ##通过(docker inspect 主节点容器id)来查看,对应 NetworkMode 

查看主节点的信息,docker inspect:

redis 简单整理——哨兵部署业务图[二十九]

然后进行配置sentinel1.conf、sentinel2.conf、sentinel3.conf 都一样。

填写:

port 26379
dir /tmp
#172.21.0.4填写自己的主节点ip
sentinel monitor mymaster 172.21.0.4 6379 2
sentinel auth-pass mymaster GaosiDev 
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 10000  
sentinel deny-scripts-reconfig yes

同样是docker-compose up -d

查看:
redis 简单整理——哨兵部署业务图[二十九]

出现错误了,这个其实很好理解,我们加入了redis-sentinel_default网络,然后这个网络不存在。

查看一下redis 主节点网络是什么。
redis 简单整理——哨兵部署业务图[二十九]

然后把redis-sentinel_default 改成redis-docker_default。

然后重新启动:

redis 简单整理——哨兵部署业务图[二十九]

然后使用sentinel看一下监控状态:
redis 简单整理——哨兵部署业务图[二十九]

然后使用:

redis 简单整理——哨兵部署业务图[二十九]

这里发现一个问题,那就是怎么没有重节点,看来是出现一些问题了。

redis 简单整理——哨兵部署业务图[二十九]

这是正常的呀。

原来是刚才填错地址了。。。
redis 简单整理——哨兵部署业务图[二十九]

然后改一下从新启动。

redis 简单整理——哨兵部署业务图[二十九]

查看一下从节点信息:

redis 简单整理——哨兵部署业务图[二十九]

查看集群信息:

redis 简单整理——哨兵部署业务图[二十九]

这样就成功了。

下一节本来是介绍集群的,但是现在用不上,所以就不整理了。

上一篇:Sentinel-AuthoritySlot&SystemSlot&LogSlot


下一篇:Lync Server外部访问系列PART5:模拟公网DNS