前言
简单介绍一下哨兵的部署业务图,非部署步骤。
正文
看一下部署的拓扑图:
然后这里用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
然后直接可以看到:
这里就创建好了。
接下来就创建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:
然后进行配置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-sentinel_default网络,然后这个网络不存在。
查看一下redis 主节点网络是什么。
然后把redis-sentinel_default 改成redis-docker_default。
然后重新启动:
然后使用sentinel看一下监控状态:
然后使用:
这里发现一个问题,那就是怎么没有重节点,看来是出现一些问题了。
这是正常的呀。
原来是刚才填错地址了。。。
然后改一下从新启动。
查看一下从节点信息:
查看集群信息:
这样就成功了。
结
下一节本来是介绍集群的,但是现在用不上,所以就不整理了。