dokcer搭建redis三主三从集群

使用docker 进行redis三主三从集群的搭建

首先拉取redsi的镜像 docker pull redis

然后查看镜像是否拉取成功 docker images

集群方式 : 一台宿主机3主3从,占用端口7001-7006  版本 5.0.2 

一· 创建redis多实例的配置文件目录

mkdir  -p   /home/docker/redis-cluster/redis{01..06}

 二· 创建redis持久化数据存储目录

mkdir -p  /home/datas/redis-cluster/redis{01..06}/data

 redis成功运行之后data文件夹下面自动生产的文件 :

appendonly.aof : 数据持久化文件

nodes-700*.conf : 集群的节点信息

dump.rdb : 快照文件

 三· 然后在/home/docker/redis-cluster/redis01--06目录下都创建一个redis.conf配置文件

内容如下

注意 如果是一台宿主机注意修改端口。

示例redis02/redis.conf

参数解释:

port 7001(分别对每个机器的端口号进行设置)

protected-mode no  (关闭保护模式)

appendonly yes  (持久化(可选))

requirepass ******  (设置redis访问密码)

masterauth ****** (设置集群节点间访问密码,跟上面一致)

cluster-enabled yes(启动集群模式)

cluster-config-file nodes-7001.conf(集群节点信息文件,这里700x最好和port对应上)

cluster-node-timeout 5000   (集群节点超时时间,超过该值则认为主节点不可用,从节点将有可能转为master)

cluster-announce-ip 192.168.x.x (宿主机ip)

cluster-announce-port 7001 (节点映射端口)

cluster-announce-bus-port 17001 (节点总线端)

四· 执行完以上步骤使用docker启动6个redis的容器

网络模式使用host,docker容器直接用宿主机的ip和端口

--net host 表示使用host网络模式, --restart=always 表示重启docker的时候,自动重启redis。--net host网络模式的时候需要关闭服务器防火墙

创建redis01容器

docker run -d --privileged=true -v /home/docker/redis-cluster/redis01/redis.conf:/etc/redis/redis.conf -v /home/datas/redis-cluster/redis01/data:/data --name redis01 --net host --restart=always redis:latest redis-server /etc/redis/redis.conf --appendonly yes  

创建redis02容器

docker run -d --privileged=true -v /home/docker/redis-cluster/redis02/redis.conf:/etc/redis/redis.conf -v /home/datas/redis-cluster/redis02/data:/data --name redis02 --net host --restart=always redis:latest redis-server /etc/redis/redis.conf --appendonly yes

创建redis03容器

docker run -d --privileged=true -v /home/docker/redis-cluster/redis03/redis.conf:/etc/redis/redis.conf -v /home/datas/redis-cluster/redis03/data:/data --name redis03 --net host --restart=always redis:latest redis-server /etc/redis/redis.conf --appendonly yes

创建redis04容器

docker run -d --privileged=true -v /home/docker/redis-cluster/redis04/redis.conf:/etc/redis/redis.conf -v /home/datas/redis-cluster/redis04/data:/data --name redis04 --net host --restart=always redis:latest redis-server /etc/redis/redis.conf --appendonly yes

创建redis05容器

docker run -d --privileged=true -v /home/docker/redis-cluster/redis05/redis.conf:/etc/redis/redis.conf -v /home/datas/redis-cluster/redis05/data:/data --name redis05 --net host --restart=always redis:latest redis-server /etc/redis/redis.conf --appendonly yes

创建redis06容器

docker run -d --privileged=true -v /home/docker/redis-cluster/redis06/redis.conf:/etc/redis/redis.conf -v /home/datas/redis-cluster/redis06/data:/data --name redis06 --net host --restart=always redis:latest redis-server /etc/redis/redis.conf --appendonly yes

执行完以上步骤查看redis容器的状态 使用

docker ps

六· 运行成功后进入容器操作

docker exec -it redis01 /bin/bash

连接redis01查看状态是否正常

redis-cli  -a 123456  -h 192.168.11.169 -p 7001

七·执行创建集群的操作

redis-cli -a 123456 --cluster create  192.168.11.169:7001 192.168.11.169:7002 192.168.11.169:7003 192.168.11.169:7004   192.168.11.169:7005 192.168.11.169:7006 --cluster-replicas 1

集群加入失败时需要删除生成的文件rm -rf /home/datas/redis-cluster/redis{01..06}/data/*

重启容器进行排错即可 docker restart $(docker ps -a -q)

八·  进入redis01查看集群状态

在次登录进行输入数据进行测试 redis-cli  -a 123456  -c -h 192.168.11.169 -p 7001

写入 数据  Set  name  pengyuyan

随便进入一个节点 查看 数据  get  name 

 

cluster info  #查看集群信息

 cluster nodes  #查看集群实例

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值