单机Redis集群怎么搭建?步骤和实战怎么做?

文章导读
单机搭建 Redis 集群的核心在于在同一台服务器上通过不同端口启动多个 Redis 实例,模拟分布式环境。具体步骤包括:首先安装 Redis 软件,创建多个独立目录(如 7000-7005),复制配置文件并修改端口、开启集群模式(cluster-enabled yes)、指定集群配置文件路径。随后启动所有节点,使用 redis-cli --cluster create 命令将所有节点连接成集群,
📋 目录
  1. A 单机 Redis 集群怎么搭建?步骤和实战怎么做?
  2. B Windows 环境 Redis 单机 / 哨兵 / 集群 搭建实操
  3. C redis 集群搭建之官方 redis cluster 搭建实践「建议收藏」
  4. D 单机部署 Redis 集群:单节点环境下的高可用实践方案
  5. E Redis 部署集群详解 (附带实例)
  6. F 手把手教你 redis 集群搭建 (非常详细,适合新手)
  7. G FAQ
A A

单机 Redis 集群怎么搭建?步骤和实战怎么做?

单机搭建 Redis 集群的核心在于在同一台服务器上通过不同端口启动多个 Redis 实例,模拟分布式环境。具体步骤包括:首先安装 Redis 软件,创建多个独立目录(如 7000-7005),复制配置文件并修改端口、开启集群模式(cluster-enabled yes)、指定集群配置文件路径。随后启动所有节点,使用 redis-cli --cluster create 命令将所有节点连接成集群,分配哈希槽。单机集群适用于开发测试、学习验证及资源受限场景,能以最小成本实现高可用架构模拟,但生产环境建议多机部署以确保物理隔离和稳定性。

Windows 环境 Redis 单机 / 哨兵 / 集群 搭建实操

在日常开发、测试、学习 Redis 时,Windows 环境搭建非常方便快捷。本文将从零开始,一步一步带大家搭建:1.Redis 单机模式 2.Redis 主从 + 哨兵模式 (高可用) 3.Redis Cluster 集群模式 (分布式分片) 全程使用 Windows 环境,命令可直接复制、配置可直接粘贴、每一步带截图标注,看完就能自己搭起来。一、环境准备 1.1 下载 Windows 版 Redis Redis 官方没有维护 Windows 版本,我们使用国内维护的稳定版本:下载地址:https://github.com/tporadowski/redis/releases 本文使用版本:Redis-x64-5.0.14.zip 1.2 解压目录 建议解压到一个无中文、无空格的路径,例如:D:\Redis\ AI 写代码 bash 1 目录结构:D:\Redis\├── redis-server.exe# 服务端├── redis-cli.exe# 客户端├── redis.conf# 配置文件├── sentinel.conf# 哨兵配置 AI 写代码 bash 1 2 3 4 5 内容:Redis 解压后目录展示 说明:展示 redis-server、redis-cli、redis.conf 等文件 二、Redis 单机模式搭建 (Windows) 2.1 复制并修改配置文件 在 D:\Redis 下新建文件夹 6379,将 redis.conf 复制进去并重命名为:redis-6379.conf AI 写代码 bash 1 打开文件,修改以下核心配置:# 监听所有 IPbind0.0.0.0# 端口 port6379# 关闭保护模式 (Windows 本地测试用)protected-mode no# 后台运行 Windows 下只能 nodemonize no# 日志 logfile"redis-6379.log"# 数据目录 dir./6379# 密码 (生产必配 生产必须配置复杂密码)requirepass123456 AI 写代码 bash 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2.2 编写启动脚本 在 D:\Redis 下新建脚本 start-6379.bat: 脚本内容如下 @echo off redis-server.exe6379\redis-6379.conf pause AI 写代码 bash 1

redis 集群搭建之官方 redis cluster 搭建实践「建议收藏」

一、手动搭建 redis 官方已经 redis-trib.rb 命令来给我们实现 redis 搭建了。但是为了了解原理,首先我们来手动搭建不使用官方的命令。如果大家想快速搭建,可以直接跳到二。1、准备 我们这个例子是在单机上部署集群,实际的工作情况会在不同的机器上搭建,一方面为了保证高可用也是为了扩大数据的容量所以实际中会在不同的机器上搭建。所以在单机器上准备 6 个配置文件,通过 6 个不同的端口启动六个 redis,3 主 3 从的模式。端口 7000 的从节点是 7003,端口 7001 的从节点是 7004,端口 7002 的从节点是 7005。1) 创建测试目录和文件 在 redis 的目录下测试 cluster 的目录:在 cluster-test 目录下面创建以下目录:conf 目录放置一下配置文件 (文件内容待会会教大家创建): data 目录会放置数据文件和 redis 持久化文件 rdb 文件,logs 放置日志文件,scripts 里面放置我们自己写的脚本文件,后面也会介绍 2) 创建 conf 文件,cd 到 conf 文件,vim redis-7000.conf port 7000 daemonize yes dir "/opt/software/redis-4.0.9/cluster-test/data" logfile "/opt/software/redis-4.0.9/cluster-test/logs/7000.log" #dbfilename 不能配置为路径 dbfilename "dump-7000.rdb" cluster-enabled yes cluster-config-file nodes-7000.conf #是否需要每个节点都可用,集群才算可用,关闭 cluster-require-full-coverage no 也就是:port 启动的端口,不用说,单机下面搭建集群只能以端口区分 daemonize 表示需要以后台进程启动个,否则客户端关闭 redis 就关闭了 dir,logfile 就是刚刚说的数据文件和日志文件的配置,根据每个人安装路径的不同去配置 dbfilename 到时候会自动生成到 data 目录下面,需要写一个文件名 cluster-enabled yes 以集群方式启动 cluster-cluster-config-file 这个是 nodes 信息配置文件,也是自动生成的 最后一个看注释,最好设置为 no。然后就是把文件都复制一份并修改 sed "s/7000/7001/g" redis-7000.conf >redis-7001.conf 7002,7003,7004,7005 以此类推 2、启动集群 一次通过配置文件启动集群,我还在 conf 目录下,所以这样启动 启动了之后查看进程 (如果对基本的 linux 命令不熟悉,可以看这里) 说明都启动起来了 查看槽信息,都没有,是因为我们还没有分配槽,稍后分配

单机部署 Redis 集群:单节点环境下的高可用实践方案

一,单机部署 redis 集群的适用场景与核心价值 在开发测试,小型项目或资源受限环境中,单机部署 redis 集群能够以最小硬件成本实现多节点架构模拟。其核心价值体现在三个方面:开发验证 : 开发者 可在本地环境完整测试集群功能,包括故障转移,节点扩容等场景 资源优化 :通过端口复用技术,单台 8 核 16g 服务器可稳定运行 6 节点集群 隔离实验 :每个节点独立配置,支持不同版本的 redis 混合部署测试 典型应用场景包括 ci/cd 流水线中的集成测试,教育 机构的集群教学环境,iot 设备的 边缘计算节点 等。据 github 2023 年开源项目统计,约 28% 的 redis 集群 poc 验证采用单机部署方案。二,技术实现原理与关键组件 2.1 端口复用架构设计 单机集群通过不同 tcp 端口实现节点隔离,典型配置如下:节点 1 : 7000 (主) + 17000 (集群总线) 节点 2 : 7001 (从) + 17001 (集群总线) 节点 3 : 7002 (主) + 17002 (集群总线) 每个节点需配置独立的 cluster-enabled yes 参数,并通过 redis-trib.rb 工具建立节点间通信。2.2 持久化策略优化 建议采用 aof+rdb 混合模式:# redis-7000.conf 示例 appendonly yes appendfilename "appendonly-7000.aof" save 900 1 save 300 10 rdbcompression yes 关键优化点包括:不同节点使用独立 aof 文件避免冲突 调整 auto-aof-rewrite-percentage 为 50% 防止磁盘溢出 启用 aof-use-rdb-preamble 加速恢复 2.3 内存管理方案

Redis 部署集群详解 (附带实例)

部署 Redis 集群模式 部署 Redis 集群模式的步骤如下:1) 准备节点。Redis 集群一般由不少于 6 个的节点组成,因为这样才能保证集群的高可用。每个节点需要启动 cluster-enabled yes 配置,让其 Redis 运行在集群模式下。注意,建议让集群内所有节点的目录保持一致,一般包括 3 个目录:conf、data、log,分别存储配置信息、数据和日志相关文件。我们以 6 个节点为例,将它们的配置信息统一存储在 conf 目录下。2) 创建 Redis 各实例目录,代码如下:$ sudo mkdir -p /usr/local/redis-cluster $ cd /usr/local/redis-cluster $ sudo mkdir conf data log $ sudo mkdir -p data/redis-6379 data/redis-6389 data/redis-6380 data/redis-redis-6390 data/redis-6381 data/redis-6391 3) Redis 配置文件管理,代码如下:# Redis 后台运行 daemonize yes # 绑定的主机端口 bind 127.0.0.1 # 数据存储目录 dir /usr/local/redis-cluster/data/redis-6379 # 进程文件 pidfile /var/run/redis-cluster/${自定义}.pid # 日志文件 logfile /usr/local/redis-cluster/log/${自定义}.log # 端口号 port 6379 # 开启集群模式,把注释符号#去掉 cluster-enabled yes # 集群的配置,配置文件首次启动时会自动生成 cluster-config-file /usr/local/redis-cluster/conf/${自定义}.conf # 请求超时,设置时间为 10 s cluster-node-timeout 10000 # 开启 aof 日志 appendonly yes

手把手教你 redis 集群搭建 (非常详细,适合新手)

在开始 redis 集群搭建之前,我们先简单回顾一下 redis 单机版的搭建过程 下载 redis 压缩包,然后解压压缩文件; 进入到解压缩后的 redis 文件目录 (此时可以看到 Makefile 文件),编译 redis 源文件; 把编译好的 redis 源文件安装到/usr/local/redis 目录下,如果/local 目录下没有 redis 目录,会自动新建 redis 目录; 进入/usr/local/redis/bin 目录,直接./redis-server 启动 redis(此时为前端启动 redis); 将 redis 启动方式改为后端启动,具体做法:把解压缩的 redis 文件下的 redis.conf 文件复制到/usr/local/redis/bin 目录下,然后修改该 redis.conf 文件->daemonize:no 改为 daemonize:yse; 在/bin 目录下通过./redis-server redis.conf 启动 redis(此时为后台启动)。综上 redis 单机版安装启动完成。一、Redis Cluster(Redis 集群) 简介 redis 是一个开源的 key value 存储系统,受到了广大互联网公司的青睐。redis3.0 版本之前只支持单例模式,在 3.0 版本及以后才支持集群,我这里用的是 redis3.0.0 版本; redis 集群采用 P2P 模式,是完全去中心化的,不存在中心节点或者代理节点; redis 集群是没有统一的入口的,客户端 (client) 连接集群的时候连接集群中的任意节点 (node) 即可,集群内部的节点是相互通信的 (PING-PONG 机制),每个节点都是一个 redis 实例; 为了实现集群的高可用,即判断节点是否健康 (能否正常使用),redis-cluster 有这么一个投票容错机制:如果集群中超过半数的节点投票认为某个节点挂了,那么这个节点就挂了 (fail)。这是判断节点是否挂了的方法; 那么如何判断集群是否挂了呢?-> 如果集群中任意一个节点挂了,而且该节点没有从节点 (备份节点),那么这个集群就挂了。这是判断集群是否挂了的方法; 那么为什么任意一个节点挂了 (没有从节点) 这个集群就挂了呢?-> 因为集群内置了 16384 个 slot(哈希槽),并且把所有的物理节点映射到了这 16384[0-16383] 个 slot 上,或者说把这些 slot 均等的分配给了各个节点。当需要在 Redis 集群存放一个数据 (key-value) 时,redis 会先对这个 key 进行 crc16 算法,然后得到一个结果。再把这个结果对 16384 进行求余,这个余数会对应 [0-16383] 其中一个槽,进而决定 key-value 存储到哪个节点中。所以一旦某个节点挂了,该节点对应的 slot 就无法使用,那么就会导致集群无法正常工作。综上所述,每个 Redis 集群理论上最多可以有 16384 个节点。

FAQ

问:单机搭建 Redis 集群最少需要几个节点?

单机Redis集群怎么搭建?步骤和实战怎么做?

答:为了保证高可用性和主从架构,通常建议至少搭建 6 个节点,即 3 个主节点和 3 个从节点,这样即使一个主节点故障,也有对应的从节点可以进行故障转移。

问:单机集群配置文件中最重要的参数是什么?

答:最重要的参数是 cluster-enabled yes,它用于开启 Redis 的集群模式,此外还需要配置 cluster-config-file 来指定节点配置文件的路径,以及修改端口号避免冲突。

问:单机部署集群和生产环境部署有什么主要区别?

答:单机部署所有节点共享同一台服务器的 CPU、内存和磁盘资源,主要用于测试和学习;生产环境通常将节点部署在不同的物理机或虚拟机上,以实现真正的物理隔离和更高的容错能力。