美文网首页
Redis集群部署-主从集群部署记录

Redis集群部署-主从集群部署记录

作者: DH大黄 | 来源:发表于2020-03-05 15:25 被阅读0次

Redis主从搭建

本文只是用来记录如何快速搭建Redis主从集群,具体的原理等不做过多的阐述

Redis配置文件不做过多阐述,主要配置的是主/从Redis关系等(具体的见文件)

docker-compose.yaml

注:此处只需要修改文件的挂载目录,端口等即可

  • 物理机由于系统不同,文件目录也有所差异,所以需要修改

  • 物理机端口存在占用问题,也需要修改

version: '3.0'
services:
  redis-master:
    image: redis
    restart: always
    # 防止docker-compose up -d 启动起来的容器出现立即停止的情况
    tty: true
    container_name: redis-master
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - /Users/narcos/Documents/work/redis/conf/redis-master.conf:/etc/redis/redis.conf
      - /Users/narcos/Documents/work/redis/logs/master/redis.log:/usr/redis-log/redis.log
    command:
      ["redis-server","/etc/redis/redis.conf"]
    # 给容器赋予root权限(因为挂载的目录需要root权限)  
    privileged: true
    networks:
      redis-network:
        ipv4_address: 172.60.0.2
    ports:
      - 6379:6379
  redis-slave-1:
    image: redis
    restart: always
    # 防止docker-compose up -d 启动起来的容器出现立即停止的情况
    tty: true
    container_name: redis-slave-1
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - /Users/narcos/Documents/work/redis/conf/redis-slave.conf:/etc/redis/redis.conf
      - /Users/narcos/Documents/work/redis/logs/slave1/redis.log:/usr/redis-log/redis.log
    command:
      ["redis-server","/etc/redis/redis.conf"]
    # 给容器赋予root权限(因为挂载的目录需要root权限)  
    privileged: true
    networks:
      redis-network:
        ipv4_address: 172.60.0.3
    ports:
      - 6380:6379
  redis-slave-2:
    image: redis
    restart: always
    # 防止docker-compose up -d 启动起来的容器出现立即停止的情况
    tty: true
    container_name: redis-slave-2
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - /Users/narcos/Documents/work/redis/conf/redis-slave.conf:/etc/redis/redis.conf
      - /Users/narcos/Documents/work/redis/logs/slave2/redis.log:/usr/redis-log/redis.log
    command:
      ["redis-server","/etc/redis/redis.conf"]
    # 给容器赋予root权限(因为挂载的目录需要root权限)  
    privileged: true
    networks:
      redis-network:
        ipv4_address: 172.60.0.4
    ports:
      - 6381:6379
networks:
  redis-network:
    ipam:
      config:
        - subnet: 172.60.0.0/16

restart.sh

#! /bin/sh

# 变量
logs="logs"
masterLogDir="logs/master"
masterLog="logs/master/redis.log"
slave1LogDir="logs/slave1"
slave1Log="logs/slave1/redis.log"
slave2LogDir="logs/slave2"
slave2Log="logs/slave2/redis.log"
# -d 判断文件是否存在,-f 判断文件是否存在
# 判断logs是否存在,不存在则创建
if [ ! -d "$logs" ]; then
    mkdir "$logs"
    chmod +x "$logs"
fi
# 同理,判断logs/master是否存在,不存在则创建,以下的判断不做过多阐述
if [ ! -d "$masterLogDir" ];then
 echo "logs/master 不存在"
 mkdir "$masterLogDir"
 chmod +x "$masterLogDir"
fi
if [ ! -f "$masterLog" ];then
 echo "logs/maser/redis.log 不存在"
 touch "$masterLog"
fi
if [ ! -d "$slave1LogDir" ];then
 echo "logs/slave-1 不存在"
 mkdir "$slave1LogDir"
 chmod +x "$slave1LogDir"
fi
if [ ! -f "$slave1Log" ];then
 echo "logs/slave-1/redis.log 不存在"
 touch "$slave1Log"
fi
if [ ! -d "$slave2LogDir" ];then
 echo "logs/slave-2 不存在"
 mkdir "$slave2LogDir"
 chmod +x "$slave2LogDir"
fi
if [ ! -d "$slave2Log" ];then
 echo "logs/slave-2/redis.log 不存在"
 touch "$slave2Log"
fi
docker-compose up -d

不想手动编写这么多,直接在我已经打好的懒人包上修改运行吧!

懒人包地址

相关文章

网友评论

      本文标题:Redis集群部署-主从集群部署记录

      本文链接:https://www.haomeiwen.com/subject/qhlfrhtx.html