Docker Compose 搭建 Redis Cluster 集群环境

CSRedisCore连接哨兵集群(Windows系统) 阅读详情

按照 Redis 官网:redis.io/topics/clus… 的提示,为了使 Docker 与 Redis Cluster 兼容,您需要使用 Docker 的 host 网络模式。

host 网络模式需要在创建容器时通过参数 --net host 或者 --network host 指定,host 网络模式可以让容器共享宿主机网络栈,容器将不会虚拟出自己的网卡,配置自己的 IP 等,而是使用宿主机的 IP 和端口。

关于 Docker 网络模式更多的内容请阅读《Docker 网络模式详解及容器间网络通信》。

 

 环境

为了让环境更加真实,本文使用多机环境:

  • 192.168.10.10
  • 192.168.10.11 

每台机器所使用的基础设施环境如下:

  • CentOS 7.8.2003
  • Docker version 19.03.12

 

 

搭建

 整体搭建步骤主要分为以下几步:

  • 下载 Redis 镜像(其实这步可以省略,因为创建容器时,如果本地镜像不存在,就会去远程拉取);
  • 编写 Redis 配置文件;
  • 编写 Docker Compose 模板文件;
  • 创建并启动所有服务容器;
  • 创建 Redis Cluster 集群。

  

编写 Redis 配置文件

创建目录及文件

分别在 192.168.10.10192.168.10.11 两台机器上执行以下操作。

# 创建目录
mkdir -p /usr/local/docker-redis/redis-cluster
# 切换至指定目录
cd /usr/local/docker-redis/redis-cluster/
# 编写 redis-cluster.tmpl 文件
vi redis-cluster.tmpl
复制代码

  

编写配置文件

192.168.10.10 机器的 redis-cluster.tmpl 文件内容如下:

port ${PORT}
requirepass 1234
masterauth 1234
protected-mode no
daemonize no
appendonly yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 15000
cluster-announce-ip 192.168.10.10
cluster-announce-port ${PORT}
cluster-announce-bus-port 1${PORT}
复制代码

 192.168.10.11 机器的 redis-cluster.tmpl 文件内容如下:

port ${PORT}
requirepass 1234
masterauth 1234
protected-mode no
daemonize no
appendonly yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 15000
cluster-announce-ip 192.168.10.11
cluster-announce-port ${PORT}
cluster-announce-bus-port 1${PORT}
复制代码
  • port:节点端口;
  • requirepass:添加访问认证;
  • masterauth:如果主节点开启了访问认证,从节点访问主节点需要认证;
  • protected-mode:保护模式,默认值 yes,即开启。开启保护模式以后,需配置 bind ip 或者设置访问密码;关闭保护模式,外部网络可以直接访问;
  • daemonize:是否以守护线程的方式启动(后台启动),默认 no;
  • appendonly:是否开启 AOF 持久化模式,默认 no;
  • cluster-enabled:是否开启集群模式,默认 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。

  第二个端口用于集群总线,这是一个使用二进制协议的节点到节点通信通道。节点使用集群总线进行故障检测、配置更新、故障转移授权等等。客户端永远不要尝试与集群总线端口通信,与正常的 Redi

docker compose搭建redis cluster集群 docker compose快速搭建redis cluster集群 阅读详情

相关推荐

docker-compose搭建redis集群

cluster-announce-port:集群节点映射端口;客户端永远不要尝试与集群总线端口通信,与正常的 Redis 命令端口通信即可,但是请确保防火墙中的这两个端口都已经打开,否则 Redis 集群节点将无法通信。command: redis-server /usr/local/etc/redis/redis.conf # 覆盖容器启动后默认执行的命令。command: redis-server /usr/local/etc/redis/redis.conf # 覆盖容器启动后默认执行的命令。

m0_74246047的博客 902

.net core使用CSRedisCore访问Redis主从+哨兵

本文主要目的是对Redis主从+哨兵的高可用方案进行实验,文中使用的技术不进行深入说明,想深入了解的可自行百度。 用到的软件和版本: CSRedisCore版本:3.0.6.2 (https://github.com/2881099/csredisRedis版本:3.2.100 (windows) 1. 下载Redis安装包 本示例使用Windows10搭建Redis环境,W...

netflu博客 8831

.net基于Redis cluster分布式Session演示程序应用

.net基于Redis cluster分布式Session演示程序应用 在分布式服务器上部署了服务,可以达到session同步,session存储到redis cluster

redisredis cluster 集群安装

1.下载redis,在你按照redis的目录下执行一下命令 [root@bj redis]# wget http://download.redis.io/releases/redis-4.0.9.tar.gz(可以选择自己的版本) 2.解压 [root@bj104 redis]# tar -zxf redis-4.0.9.tar.gz 3.创建node 节点目录 [root@bj red...

Cswe_N 350

【C#】Redis在net core下使用教程

Remote DIctionary Server(Redis远程字典服务器) 是一个由Salvatore Sanfilippo写的key-value存储系统。Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。

花北城的博客 4141

docker compose搭建Redis Cluster集群环境

docker compose搭建Redis Cluster集群环境环境搭建编写 Redis 配置文件编写配置文件编写 Docker Compose 模板文件创建并启动所有服务容器创建 Redis Cluster 集群查看集群状态检查集群状态查看集群信息和节点信息 环境 为了让环境更加真实,本文使用多机环境: 192.168.124.3 192.168.124.4 搭建 整体搭建步骤主要分为以下几步: 下载 Redis 镜像(其实这步可以省略,因为创建容器时,如果本地镜像不存在,就会去远程拉取); 编写

qq_52553095的博客 704

docker compose搭建redis cluster集群环境

2台机器 10.30.97.200;10.30.97.220 centos7系统 含有已安装docker 编写redis配置文件 1.1. 创建目录及文件 分别在2台机器上执行下操作: mkdir -p /usr/local/docker-redis/redis-cluster cd /usr/local/docker-redis/redis-cluster vim redis-cluster.tmpl 1.2. 编写配置文件 10.30.97.200 机器的redis-cluster.tmpl文件

qq_15075633的博客 226

centos7 docker-compose安装_Docker Compose 搭建 Redis Cluster 集群环境

在前文《Docker 搭建 Redis Cluster 集群环境》中我已经教过大家如何搭建了,本文使用 Docker Compose 再带大家搭建一遍,其目的主要是为了让大家感受 Docker Compose 所带来的便捷之处。按照 Redis 官网:https://redis.io/topics/cluster-tutorial 的提示,为了使 DockerRedis Cluster 兼容...

weixin_39662142的博客 162

基于docker搭建redis集群环境

基于docker搭建redis集群环境,并为其分配主从节点

2302_79900935的博客 479

实战使用 Docker Compose 搭建 Redis Cluster 集群

通过本文的实践,我们成功地使用Docker Compose搭建了一个Redis Cluster集群。这个过程不仅帮助我们理解了Redis Cluster的基本原理,还掌握了如何利用Docker Compose简化多容器应用的部署。其中重要的是Redis Cluster解决了分布式储存和提升高并发性能的瓶颈,大大提升了中间件和应用系统的高可用,简直不要太爽。

勤于笔记,成于点滴。 953

Docker 搭建 Redis Cluster 集群环境

使用 Docker 搭建 Redis Cluster,最重要的环节就是容器通信的问题,这一块我们在之前的文章中已经给大家解决了《Docker 网络模式详解及容器间网络通信》,本篇文章主要练习使用多个容器完成 Redis Cluster 集群环境搭建,顺便为学习 Docker Compose 铺铺路。俗话说没有对比就没有伤害,通过对比才能感受到 Docker Compose 的好处????。 关于 Redis Cluster 集群更多的内容请阅读《最通俗易懂的 Redis 架构模式详解》。 环境 本文所

哈喽沃德先生的博客 2080

Docker-composeRedis Cluster集群

概述 Redis作为基于键值对的NoSQL数据库,具有高性能、丰富的数据结构、持久化、高可用、分布式等特性,同时Redis本身非常稳定,已经得到业界的广泛认可和使用。 在Redis中,集群的解决方案有三种 主从复制 哨兵机制 Cluster Redis ClusterRedis分布式解决方案,在 3.0 版本正式推出。 集群方案的对比 1. 主从复制 同Mysql主从复制的原因一样,Redis虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况。为了分担读压力,Redis支持主从复制,读写分离

weixin_50236329的博客 3361

使用docker-compose搭建redis-cluster集群

如果你也因为centos的gcc版本落后导致redis编译安装不通过而烦恼,大可以试一试用docker搭建redis集群。本文以单节点搭建redis-cluster三主三从为例。

feifeigo123的博客 631

实战使用Docker compose搭建Redis哨兵(Sentinel)模式集群

本文介绍了使用docker-compose快速搭建Redis主从+哨兵集群的方法。Redis哨兵模式通过独立哨兵进程监控主从节点状态,实现自动故障转移,包含监控、选主和通知三大功能。文章详细讲解了哨兵的工作流程和选主机制,同时指出哨兵模式仍存在从节点无法自动故障转移和写操作负载不均等局限性。实战部分展示了一主二从三哨兵的部署架构,并提供了主从节点的关键配置参数,包括端口绑定、数据持久化、密码设置和主从复制等核心配置项。

勤于笔记,成于点滴。 1947

docker搭建redis-cluster集群环境教程

本文将讲解如何通过docker搭建redis-cluster集群环境 第一步:准备好docker-compose-redis.yaml文件内容如下 version: '3.4' services: node1: image: redis:5.0.5 container_name: redis-node1 restart: always ports: ...

pingweicheng的博客 1113
上一篇: 阿里首发,超高质量的K8s+Docker+Jenkins硬核干货!
下一篇: 京东高级工程师开发十年,终于总结出:“亿级流量网站架构核心技术”笔记
java架构师小芷
博客等级 码龄6年 216粉丝 519原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值