Docker 创建 Redis Cluster

部署环境信息:Redis 版本 4.0.14、Linux centos 7.4、Redis Cluster: 3主3从

 

1、创建redis_cluster目录和下载Redis 4.0配置文件

mkdir -p /opt/data/redis-cluster && \
cd /opt/data/redis-cluster && \
curl -sO https://raw.githubusercontent.com/antirez/redis/4.0/redis.conf

2、Redis 4.0文件修改内容

port ${PORT}
#禁止外网访问redis 否
protected-mode no
appendonly yes
aof-use-rdb-preamble yes
cluster-enabled yes
cluster-config-file node.conf
cluster-node-timeout 5000
cluster-announce-ip ${IP}
cluster-announce-port ${PORT}
cluster-announce-bus-port 1${PORT}

3、在服务器 10.200.11.16 中创建redis节点目录文件 

cd /opt/data/redis-cluster/ && \
export IP=10.200.11.16 && \
for port in `seq 7000 7005`; do \
  mkdir -p ./${port}/conf \
  && PORT=${port} envsubst < ./redis.conf > ./${port}/conf/redis.conf \
  && mkdir -p ./${port}/data; \
done && \
unset IP

4、创建 redis-cluster-net 网络

docker network create redis-cluster-net

5、单机启动 redis 4.0.14 700[0-5]{1} 节点

for port in `seq 7000 7005`; do \
  docker run -dit -p ${port}:${port} -p 1${port}:1${port} \
  -v /opt/data/redis-cluster/${port}/conf/redis.conf:/usr/local/etc/redis/redis.conf \
  -v /opt/data/redis-cluster/${port}/data:/data \
  --restart always \
  --name redis-${port} \
  --net redis-cluster-net \
  --sysctl net.core.somaxconn=1024 \
  redis:4.0.14 redis-server /usr/local/etc/redis/redis.conf; \
done

6、使用 zvelo/redis-trib 启动集群节点

docker run --rm -it --net redis-cluster-net zvelo/redis-trib create --replicas 1 \
  $(for port in `seq 7000 7005`; do \
    echo -n "$(docker inspect --format '{{ (index .NetworkSettings.Networks "redis-cluster-net").IPAddress }}' "redis-${port}")":${port} ' ' ; \
  done)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值