本文基于 Docker Engine 和 Docker Compose 环境,单机部署 Redis Sentinel
本文部署架构为一主多从三哨兵,因服务器条件有限,该架构在一台服务器中进行部署,仅供参考
Docker 安装参见:https://docs.docker.com/install/linux/docker-ce/centos/
1、执行以下命令安装当前稳定版本的Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose2、赋予可执行权限
sudo chmod +x /usr/local/bin/docker-compose如遇其他问题可前往查看官方文档:https://docs.docker.com/compose/install/
docker-redis-compose.txt
version: '2' services: master: image: redis container_name: redis-master command: redis-server --requirepass 123456 ports: - "6379:6379" networks: - sentinel-master slave1: image: redis container_name: redis-slave-1 ports: - "6380:6379" command: redis-server --slaveof redis-master 6379 --requirepass 123456 --masterauth 123456 depends_on: - master networks: - sentinel-master slave2: image: redis container_name: redis-slave-2 ports: - "6381:6379" command: redis-server --slaveof redis-master 6379 --requirepass 123456 --masterauth 123456 depends_on: - master networks: - sentinel-master networks: sentinel-master:docker-redis-sentinel-compose.txt
version: '2' services: sentinel_01: image: redis container_name: redis-sentinel-01 command: redis-sentinel /usr/local/etc/redis/sentinel.conf volumes: - "/data/redis/conf:/usr/local/etc/redis" sentinel_02: image: redis container_name: redis-sentinel-02 ports: - "26380:26379" command: redis-sentinel /usr/local/etc/redis/sentinel.conf volumes: - "/data/redis/conf:/usr/local/etc/redis" sentinel_03: image: redis container_name: redis-sentinel-03 ports: - "26381:26379" command: redis-sentinel /usr/local/etc/redis/sentinel.conf volumes: - /data/redis/conf:/usr/local/etc/redis networks: default: external: name: redis_sentinel_master哨兵的配置文件如下:
port 26379 dir "/tmp" sentinel monitor redis-master 【服务器IP】 6379 2 sentinel failover-timeout redis-master 10000 sentinel auth-pass redis-master 123456 port:sentinel节点的端口 dir:监控日志 sentinel monitor redis-master:当前监控主节点 2:代表判断主节点失败至少需要2个Sentinel节点同意 redis-master:是主节点的别名 sentinel failover-timeout:故障转移超时时间为10000毫秒