docker 搭建 redis cluster 集群环境

10 篇文章 0 订阅

docker 搭建 redis cluster 集群环境

前言

最近在学习 redis-cluster的知识,自己准备搭建一套简单的集群环境,因为 redis-cluster官方推荐的最低机器台数为3台。3个主节点,每个主节点,对应1个从节点,保证集群的高可用,容灾故障转移。
为什么我们使用docker 来搭建 ?
我个人主机上的 学习环境基本都是 docker 搭建的。因为占用小,安装简单,用完了随时停止环境,对当前主机无侵入,镜像命令都是统一的。

我们的目标是 三主 三从 搭建一个简单的 redis-cluster集群

准备

我们将配置文件和数据全都映射到我们的宿主机。我这里准备搭建7380 -7385 端口的6台redis实例。

我们新建对应的目录:

 cd /usr/docker/data/
 mkdir redis-cluster
 cd redis-cluster/
 mkdir 7380 7381 7382 7383 7384 7385

每个目录下 放置我们对应的配置文件 redis.conf。 配置文件至少包括下面:

# 端口号
port 7380
# 开启集群模式
cluster-enabled yes
# 集群配置文件
cluster-config-file nodes-7380.conf
# 集群节点超时时间 
cluster-node-timeout 15000
# aof 持久化 
appendonly yes

# 兼容docker相关配置
#对外 ip
cluster-announce-ip 10.1.1.5
# 端口
cluster-announce-port 7380
# tcp 交互端口 默认 在实例端口基础 加 10000
cluster-announce-bus-port 17380

客户端端口:客户端访问Redis服务器的端口
集群总线端口:用二进制协议(gossip协议)的点对点集群通信的端口。用于节点的失败侦测、配置更新、故障转移授权,等等。

详细了解,可以去redis官网下载一个完整的 redis.conf 查看其备注即可。

运行 镜像

docker run --name myredis7380 -d -p 7380:7380 -p 17380:17380  -v /usr/docker/data/redis-cluster/7380:/data  -v /usr/docker/data/redis-cluster/7380/redis.conf:/usr/local/redis.conf redis:v1 redis-server /usr/local/redis.conf

镜像运行成功后,查看我们持久化目录下的 集群配置文件

在这里插入图片描述
同理,我们启动剩余节点。

搭建集群

现在我们已经有了六个正在运行中的 Redis 实例, 接下来我们需要使用这些实例来创建集群, 并为每个节点编写配置文件。
通过使用 Redis 集群命令行工具 redis-trib , 编写节点配置文件的工作可以非常容易地完成: redis-trib 位于 Redis 源码的 src 文件夹中, 它是一个 Ruby 程序, 这个程序通过向实例发送特殊命令来完成创建新集群, 检查集群, 或者对集群进行重新分片(reshared)等工作。
**

自己安装 redis-trib

./redis-trib.rb create --replicas 1 ip:7380 ip:7381 \
ip:7382 ip:7383 ip:7384 ip:7385

**

使用docker安装redis-trib

**
拉取镜像

docker pull yangyu66/redis-trib

命令行交互运行

docker run  --rm  -it yangyu66/redis-trib  \
create --replicas 1 ip:7380 ip:7381 \
ip:7382 ip:7383 ip:7384 ip:7385

这个命令在这里用于创建一个新的集群, 选项–replicas 1 表示我们希望为集群中的每个主节点创建一个从节点。
之后跟着的其他参数则是这个集群实例的地址列表,3个master3个slave redis-trib 会打印出一份预想中的配置给你看, 如果你觉得没问题的话, 就可以输入 yes , redis-trib 就会将这份配置应用到集群当中,让各个节点开始互相通讯,最后可以得到如下信息:

在这里插入图片描述
我们这里一共6个redis 节点,redis-trib会自动按照一定规则帮我们配置主从。

输入 cluster nodes 可以查看集群节点。

在这里插入图片描述
最终结果: 7380 ;7381 ;7382 为集群主节点。7383;7384;7384 为各自的从节点。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值