Docker 搭建 Redis Cluster 集群

本文详细介绍了如何使用 Docker 来搭建 Redis 集群。首先讲解了 Redis 配置文件的关键设置,包括 IP 注释、端口、认证、保护模式等。接着,介绍了两种启动 Redis 容器的方法,包括使用 docker-compose 和命令行方式。最后,重点讲述了如何在容器中创建 Redis Cluster 集群,并强调了集群节点间的通信端口以及确保防火墙开放的重要性。
摘要由CSDN通过智能技术生成

Redis 配置文件

根据需要自己可以定制

# bind 127.0.0.1
port ${PORT}
protected-mode no
cluster-enabled yes
cluster-config-file nodes-${PORT}.conf
cluster-node-timeout 5000
cluster-announce-ip 10.0.18.8
cluster-announce-port ${PORT}
cluster-announce-bus-port 1${PORT}
appendonly yes
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
  • bind:IP地址需要注释;
  • port:节点端口;
  • requirepass:添加访问认证;
  • masterauth:如果主节点开启了访问认证,从节点访问主节点需要认证;
  • protected-mode:保护模式,默认值 yes,即开启。开启保护模式以后,需配置 bind ip 或者设置访问密码;关闭保护模式,外部网络可以直接访问;
  • daemonize:是否以守护线程的方式启动(后台启动),默认 no
  • appendonly:是否开启 AOF 持久化模式,默认 no;
  • cluster-config-file:集群节点信息文件;
  • cluster-node-timeout:集群节点连接超时时间;
  • cluster-announce-ip:集群节点 IP,填写宿主机的 IP;
  • cluster-announce-port:集群节点映射端口;
  • cluster-announce-bus-port:集群节点总线端口。

每个 Redis 集群节点都需要打开两个 TCP 连接。

一个用于为客户端提供服务的正常 Redis TCP 端口,例如 6379。还有一个基于 6379 端口加 10000 的端口,比如 16379。

第二个端口用于集群总线,这是一个使用二进制协议的节点到节点通信通道。

节点使用集群总线进行故障检测、配置更新、故障转移授权等等。

客户端永远不要尝试与集群总线端口通信,与正常的 Redis 命令端口通信即可

但是请确保防火墙中的这两个端口都已经打开,否则 Redis 集群节点将无法通信

创建可执行文件,执行下面的命令,创建 9001~9006 相关目录和文件

for port in `seq 9001 9006`; do \
  mkdir -p ./redis-cluster/${port}/conf \
  && PORT=${port} envsubst < ./redis.conf > ./redis-cluster/${port}/conf/redis.conf \
  && mkdir -p ./redis-cluster/${port}/data; \
done

执行tree 命令,查看结果

在这里插入图片描述

再查看节点配置文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值