Docker部署Redis集群,3台ECS 三主三从

前言

网上这类文章太多了,很多小伙伴都可以搜索来参考着部署,在一台机器上部署,或者在多台机器上部署都一样,不过细节还是有很多差别的,比如 Waiting for the cluster to join 这些问题,而且对于中小企业,可以用于生产环境的集群部署,也各不相同。那么这篇文章就是记录一下 在3台阿里云ECS上,利用docker 部署6个redis(三主三从)的方法(当然你也可以6台机器部署6个Redis,具体看成本 )。

文章中关于docker命令、redis 命令、redis配置文件含义,为什么是三主三从,等问题,如果你是真的要配置redis集群,相信你肯定也都知道是什么意思,如果你不知道…网上有很多答案,这里就不啰嗦了。

1、 拉取Redis镜像

首先你机器上要装上docker,这里不讲了。
我拉取的是最新的redis 镜像

docker pull redis

在这里插入图片描述

2、准备工作

我们要选择用配置文件来启动redis,所以要准备好redis的配置文件,我在网上找到了一个
因为每台机器上要部署两个redis ,所以配置文件也要相对应的制作两个
我在机器的home文件夹下制作了一个目录,专门存放redis配置文件和data的,然后就是启动脚本

目录:/home/docker/redis
在这里插入图片描述
注意:data文件夹是空的,这里是因为我已经启动了,所以里面有东西了

redis.conf:

port 6379
protected-mode no
pidfile /var/run/redis_6379.pid
masterauth redis123
requirepass redis123
cluster-enabled yes
cluster-config-file nodes-6379.conf
cluster-node-timeout 15000
appendonly yes
port 6380
protected-mode no
pidfile /var/run/redis_6380.pid
masterauth redis123
requirepass redis123
cluster-enabled yes
cluster-config-file nodes-6380.conf
cluster-node-timeout 15000
appendonly yes

start.sh

for port in 6379 6380;do
  docker run -d -v /home/docker/redis/${port}/conf/redis.conf:/etc/redis/redis.conf:rw -v /home/docker/redis/${port}/data:/data:rw --restart always --name=redis-${port} -p ${port}:${port} -p 1${port}:1${port} redis:latest redis-server /etc/redis/redis.conf; 
done

存好之后,三台机器每个机器都要放一份上述文件。不用做任何修改。

3、启动redis

上述准备好以后
1、首先配置好ECS的安全组,把端口打开(如果你只是内网进行,就不需要打开了,如果是外网访问,就需要把端口打开)
2、启动脚本

sh start.sh

在这里插入图片描述

4、启动集群

启动成功以后,随便找个redis容器,进入

docker exec -it redis-6379 bash

执行命令

redis-cli -a redis123 --cluster create ip1:6379 ip2:6379 ip3:6379 ip1:6380 ip2:6380 ip3:6380 --cluster-replicas 1

这里把ip1 ip2 ip3 替换成你三台机器的IP 即可

在这里插入图片描述

遇到让你输入yes 的时候 输入yes即可。

如果你看到这个页面了,那你redis集群基本就是成功了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值