docker搭建redis集群

  1. 环境
    2台机器 10.30.97.200;10.30.97.220 centos7系统 含有已安装docker
  2. 整体搭建步骤分为以下几步:
    . 下载redis镜像
    . 编写redis配置文件
    . 创建redis容器
    . 创建redis cluster集群
    2.1. 编写redis配置文件
    2.1.1. 创建目录和文件
    分别在2台机器上执行下操作:
    mkdir -p /usr/local/docker-redis/redis-cluster
    cd /usr/local/docker-redis/redis-cluster
    vim redis-cluster.tmpl

2.1.2. 编写配置文件
10.30.97.200 机器的redis-cluster.tmpl文件内容如下:
port ${PORT}
requirepass 1234
masterauth 1234
protected-mode no
daemonize no
appendonly yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 15000
cluster-announce-ip 10.30.97.200
cluster-announce-port P O R T c l u s t e r − a n n o u n c e − b u s − p o r t 1 {PORT} cluster-announce-bus-port 1 PORTclusterannouncebusport1{PORT}

10.30.97.220机器的redis-cluster.tmpl文件内容如下:
port ${PORT}
requirepass 1234
masterauth 1234
protected-mode no
daemonize no
appendonly yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 15000
cluster-announce-ip 10.30.97.220
cluster-announce-port P O R T c l u s t e r − a n n o u n c e − b u s − p o r t 1 {PORT} cluster-announce-bus-port 1 PORTclusterannouncebusport1{PORT}

对上述文件配置的解释:
port 端口
requirepass 主从节点通信密码
masterauth 与requirepass成对出现
protected-mode 安全模式
daemonize 是否是后台运行
appendonly AOS的文件是否开启
cluster-enabled 集群环境是否开启
cluster-config-file 集群配置文件
cluster-node-timeout 集群通信超时时间
cluster-announce-ip 集群ip,用宿主机的,因为是host网络模式
cluster-announce-port 集群端口
cluster-announce-bus-port 消息总线端口

在10.30.97.200 机器的 redis-cluster目录下执行以下命令:
for port in seq 6371 6373;do
mkdir -p KaTeX parse error: Undefined control sequence: \ at position 13: {port}/conf \̲ ̲&& PORT={port} envsubst < redis-cluster.tmpl > ${port}/conf/redis.conf
&& mkdir -p ${port}/data;
done

执行完后创建的文件结构:
在这里插入图片描述

在10.30.97.220 机器的 redis-cluster目录下执行以下命令:
for port in seq 6374 6376;do
mkdir -p KaTeX parse error: Undefined control sequence: \ at position 13: {port}/conf \̲ ̲&& PORT={port} envsubst < redis-cluster.tmpl > ${port}/conf/redis.conf
&& mkdir -p ${port}/data;
done

2.2. 创建redis容器
2.2.1. 创建容器
将宿主机的 6371-6376 之间的端口与6个redis容器映射,并将宿主机的目录与容器的目录进行映射,网络模式指定host

在10.30.97.200 机器执行以下命令:
for port in KaTeX parse error: Undefined control sequence: \ at position 21: …6371 6373); do \̲ ̲docker run -di …{port} --net host
-v /usr/local/docker-redis/redis-cluster/KaTeX parse error: Undefined control sequence: \ at position 56: …dis/redis.conf \̲ ̲-v /usr/local/d…{port}/data:/data
redis redis-server /usr/local/etc/redis/redis.conf;
done

在10.30.97.220 机器执行以下命令:
for port in KaTeX parse error: Undefined control sequence: \ at position 21: …6374 6376); do \̲ ̲docker run -di …{port} --net host
-v /usr/local/docker-redis/redis-cluster/KaTeX parse error: Undefined control sequence: \ at position 56: …dis/redis.conf \̲ ̲-v /usr/local/d…{port}/data:/data
redis redis-server /usr/local/etc/redis/redis.conf;
done

2.3. 创建redis cluster集群
随便进入一个容器节点,并进入 /usr/local/bin/ 目录:
docker exec -it redis-6371 bash
cd /usr/local/bin/

接下来我们就可以通过以下命令实现redis cluster集群的创建
redis-cli -a 1234 --cluster create 10.30.97.200:6371 10.30.97.200:6372 10.30.97.200:6373 10.30.97.220:6374 10.30.97.220:6375 10.30.97.220:6376 --cluster-replicas 1

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值