Docker部署Redis-Cluster模式

Redis集群部署

Docker镜像

docker pull redis:6.2.1

镜像导出命令

docker save redis:6.2.1 -o redis:6.2.1.tar

镜像导入命令

docker load -i redis:6.2.1.tar

集群服务规划

IP模式主从关系服务端口/集群端口配置文件数据目录
3.1.101.333.1.101.34(从)6379/16379/data/redis/master/conf/redis.conf/data/redis/master/data
3.1.101.343.1.101.35(从)6379/16379/data/redis/master/conf/redis.conf/data/redis/master/data
3.1.101.353.1.101.33(从)6379/16379/data/redis/master/conf/redis.conf/data/redis/master/data
3.1.101.333.1.101.35(主)26379/36379/data/redis/slave/conf/redis.conf/data/redis/slave/data
3.1.101.343.1.101.33(主)26379/36379/data/redis/slave/conf/redis.conf/data/redis/slave/data
3.1.101.353.1.101.34(主)26379/36379/data/redis/slave/conf/redis.conf/data/redis/slave/data

创建目录

mkdir -pv /data/redis/{master,slave}/{data,conf,logs}
mkdir -pv /data/docker-compose/redis/

配置文件修改

bind 3.1.101.33
protected-mode no
port 6379
daemonize no
pidfile /data/redis/master/logs/redis_6379.pid
logfile "/data/redis/master/logs/redis-6379.log"
dir /data/redis/master/data

requirepass g1tredis2o2l
masterauth g1tredis2o2l

appendonly yes
appendfilename "appendonly.aof"

cluster-enabled yes
cluster-config-file nodes-6379.conf
cluster-node-timeout 5000

从redis配置和主几乎一样,只有如下有些变化

bind 3.1.101.33
port 26379
pidfile /data/redis/slave/logs/redis_26379.pid
logfile "/data/redis/slave/logs/redis-26379.log"
dir /data/redis/slave/data
cluster-config-file nodes-26379.conf

docker-compose编排

示例

version: "3"
services:
  redis-master:
    container_name: redis-master
    image: redis:6.2.1
    network_mode: host
    restart: always
    volumes:
      - /data/redis:/data/redis
      - /etc/localtime:/etc/localtime
    sysctls:
      - net.core.somaxconn=1024
    command: "redis-server /data/redis/master/conf/redis.conf"
  redis-slave:
    container_name: redis-slave
    image: redis:6.2.1
    network_mode: host
    restart: always
    volumes:
      - /data/redis:/data/redis
      - /etc/localtime:/etc/localtime
    sysctls:
      - net.core.somaxconn=1024
    command: "redis-server /data/redis/slave/conf/redis.conf"

docker-compose命令

创建/更新:
docker-compose up -d
删除容器
docker-compose down
启停示例
docker-compose start/stop redis-master

集群创建

进入任意一台redis-m

redis-cli -a g1tredis2o2l --cluster create --cluster-replicas 1 3.1.101.33:6379 3.1.101.34:6379 3.1.101.35:6379 3.1.101.34:26379 3.1.101.35:26379 3.1.101.33:26379

查看集群状态

redis-cli -a g1tredis2o2l -h 3.1.101.33 -p 6379 cluster info
redis-cli -a g1tredis2o2l -h 3.1.101.34 -p 6379 cluster nodes

登录集群

./redis-cli -a g1tredis2o2l -c -h 3.1.101.35 -p 6379
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值