docker环境部署redis7.0主从集群模式

1 篇文章 0 订阅

参考来源:LOOK!docker在多台机器上部署redis三主三从模式集群_经典老哥的博客-CSDN博客_docker集群要几台机器

Redis Cluster 集群搭建详细过程_一线大码的博客-CSDN博客_rediscluster集群搭建

本文是在参考来源上做的补充与记录,参考地址中的内容有些过时,使用redis7.0无法正确部署。

与来源文章有些出入,本次部署采用两台服务器进行部署,每一台机器上都包含一主二从。

注意:如果主从总数不够6台会报以下错误:

*** ERROR: Invalid configuration for cluster creation.

*** Redis Cluster requires at least 3 master nodes.

*** This is not possible with 4 nodes and 1 replicas per node.

*** At least 6 nodes are required.

在其中一台机器上进行如下操作:

1.在/home/redis-cluster目录下创建结构,如下所示:

2.在7000/conf/redis.conf中添加如下内容:

port 7000
protected-mode no
pidfile /var/run/redis_7000.pid
masterauth hhSaaa
masteruser hyy
requirepass 87hYp
cluster-enabled yes
cluster-config-file nodes-7000.conf
cluster-node-timeout 15000
appendonly yes
bind 192.168.0.227

注意:在redis7.0中,需要添加  masteruser、bind项,如果不添加这两项启动可能会报错

不添加bind项,创建集群时会一直处于Waiting for the cluster to join... 状态。

注意bind的地址内容,应该填redis服务所在的服务器网卡绑定的IP地址。

 3.在7001/conf/redis.conf中添加如下内容:

port 7001
protected-mode no
pidfile /var/run/redis_7001.pid
masterauth hhSaaa
masteruser hyy
requirepass 87hYp
cluster-enabled yes
cluster-config-file nodes-7001.conf
cluster-node-timeout 15000
appendonly yes
bind 192.168.0.227

4.在7002/conf/redis.conf中添加如下内容:

port 7002
protected-mode no
pidfile /var/run/redis_7002.pid
masterauth hhSaaa
masteruser hyy
requirepass 87hYp
cluster-enabled yes
cluster-config-file nodes-7002.conf
cluster-node-timeout 15000
appendonly yes
bind 192.168.0.227

5.打开start.sh文件,写一个启动脚本,方便一键启动:

for port in 7000 7001 7002;do
  docker run -d --net=host -v /home/redis-cluster/${port}/conf/redis.conf:/etc/redis/redis.conf:rw -v /home/redis-cluster/${port}/data:/data:rw --restart always --name=redis-${port} redis:5.0 redis-server /etc/redis/redis.conf;
done

启动redis: sh start.sh

将以上的1-5步在另外的机器上执行一遍,大多数内容不用修改,但是bind地址内容需要进行修改

然后进入任意一个容器内部,如进入redis-7000:

docker exec -it redis-7000 bash

执行以下命令使得集群节点之间完成互通:

redis-cli -u redis://87hYp@192.168.0.152:7000  --cluster create   --cluster-replicas 1 192.168.0.152:7000 192.168.0.152:7001 192.168.0.152:7002 192.168.0.227:7000 192.168.0.227:7001 192.168.0.227:7002 --cluster-replicas 1

注意: 在最新版redis中需要使用  -u redis: requirepass@host:port 这种格式才能正确访问。

执行成功界面如下。

6 验证集群是否部署成功

登录任意一台节点验证集群

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值