0

0

Linux如何部署Redis集群_Linux多节点分片存储与高可用配置【步骤】

冰火之心

冰火之心

发布时间:2026-01-12 14:10:02

|

968人浏览过

|

来源于php中文网

原创

需手动部署6个Redis实例(3主3从),配置集群模式、用redis-cli创建集群、验证状态、开放端口并配置systemd服务,最后测试分片与故障转移。

linux如何部署redis集群_linux多节点分片存储与高可用配置【步骤】

如果您计划在Linux环境中构建Redis集群,实现多节点分片存储与高可用性,则需手动配置多个Redis实例并启用集群模式。以下是完成该部署的具体步骤:

一、准备六个独立的Redis实例

Redis集群要求至少三个主节点和三个从节点以满足故障转移与数据分片的基本条件。每个实例需运行在不同端口,并拥有独立的数据目录与配置文件

1、创建六个工作目录,例如:/opt/redis-cluster/7000/opt/redis-cluster/7005

2、在每个目录中复制一份 redis.conf 配置文件,并按需修改以下关键项:将 port 改为对应端口号(如7000),设置 bind 0.0.0.0,启用 cluster-enabled yes,指定 cluster-config-file nodes-7000.conf,设置 cluster-node-timeout 5000,并关闭 protected-mode nodaemonize yes

3、依次启动全部六个实例,使用命令:/usr/local/bin/redis-server /opt/redis-cluster/7000/redis.conf,依此类推至7005。

二、使用redis-cli创建集群拓扑

通过 redis-cli 的 --cluster 子命令将六个运行中的节点组织成一个具有三主三从结构的集群。该操作会自动分配槽位(16384个)并建立主从关系。

1、确保系统已安装 Redis 5.0 或更高版本客户端,且 redis-cli 可执行。

2、执行集群初始化命令:redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 --cluster-replicas 1

3、当提示 Can I set the above configuration? (type 'yes' to accept) 时,输入 yes 确认。

三、验证集群状态与节点信息

集群创建完成后,需确认各节点是否成功握手、槽位是否均匀分配、主从关系是否建立,以及集群整体是否处于“ok”状态。

1、连接任意一个节点,例如:redis-cli -c -p 7000

2、执行命令:cluster info,检查 cluster_state:okcluster_known_nodes:6 是否出现。

ReRoom AI
ReRoom AI

专为室内设计打造的AI渲染工具,可以将模型图、平面图、草图、照片转换为高质量设计效果图。

下载

3、执行命令:cluster nodes,确认输出中包含三行标记为 master 且有对应 slave 行的记录,且每行均显示 connected 状态。

四、配置防火墙与系统服务管理

为保障集群节点间通信稳定,需开放所有Redis实例端口及集群总线端口(即实例端口+10000),同时将实例纳入systemd服务以便统一启停与日志管理。

1、开放端口范围:7000-700517000-17005,使用命令:firewall-cmd --permanent --add-port=7000-7005/tcpfirewall-cmd --permanent --add-port=17000-17005/tcp,随后重载防火墙规则。

2、为每个实例编写 systemd service 文件,例如 /etc/systemd/system/redis_7000.service,内容中指定 ExecStart=/usr/local/bin/redis-server /opt/redis-cluster/7000/redis.conf,并设置 Restart=always

3、执行 systemctl daemon-reload,然后启用并启动服务:systemctl enable redis_7000 && systemctl start redis_7000,依此类推完成全部六个服务。

五、测试数据分片与故障转移能力

通过写入带哈希标签的键值对,验证槽位分配是否生效;通过主动终止主节点进程,观察从节点是否自动升级为主节点并维持集群可用性。

1、使用集群模式客户端连接:redis-cli -c -p 7000

2、写入多个键,例如:set {user1000}.name "Alice"set {user2000}.name "Bob",确认返回 OK 且无MOVED重定向错误。

3、在另一终端中执行:kill -9 $(ps aux | grep 'redis.conf' | grep 7000 | awk '{print $2}'),强制停止7000节点。

4、等待约10秒后,再次执行 cluster nodes,确认原7000节点状态变为 fail,而其从节点(如7003)状态已更新为 master,且槽位已接管。

相关专题

更多
python中print函数的用法
python中print函数的用法

python中print函数的语法是“print(value1, value2, ..., sep=' ', end=' ', file=sys.stdout, flush=False)”。本专题为大家提供print相关的文章、下载、课程内容,供大家免费下载体验。

184

2023.09.27

常用的数据库软件
常用的数据库软件

常用的数据库软件有MySQL、Oracle、SQL Server、PostgreSQL、MongoDB、Redis、Cassandra、Hadoop、Spark和Amazon DynamoDB。更多关于数据库软件的内容详情请看本专题下面的文章。php中文网欢迎大家前来学习。

967

2023.11.02

内存数据库有哪些
内存数据库有哪些

内存数据库有Redis、Memcached、Apache Ignite、VoltDB、TimesTen、H2 Database、Aerospike、Oracle TimesTen In-Memory Database、SAP HANA和ache Cassandra。更多关于内存数据库相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

630

2023.11.14

mongodb和redis哪个读取速度快
mongodb和redis哪个读取速度快

redis 的读取速度比 mongodb 更快。原因包括:1. redis 使用简单的键值存储,而 mongodb 存储 json 格式的数据,需要解析和反序列化。2. redis 使用哈希表快速查找数据,而 mongodb 使用 b-tree 索引。因此,redis 在需要高性能读取操作的应用程序中是一个更好的选择。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

474

2024.04.02

redis怎么做缓存服务器
redis怎么做缓存服务器

redis 作为缓存服务器的答案:redis 是一款开源、高性能、分布式的键值存储,可作为缓存服务器使用。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

398

2024.04.07

redis怎么解决数据一致性
redis怎么解决数据一致性

redis 提供了两种一致性模型,以维护副本数据一致性:强一致性 (sync) 确保写操作仅在复制到所有从节点后才完成;最终一致性 (async) 则在主节点上写操作后认为已完成,牺牲一致性换取性能。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

391

2024.04.07

mysql和redis怎么保证双写一致性
mysql和redis怎么保证双写一致性

确保 mysql 和 redis 双写一致性的技术包括:1、事务性更新:同时更新 mysql 和 redis,保证一致性;2、主从复制:mysql 主服务器更改同步到 redis 从服务器;3、基于事件的更新:mysql 记录更改并发送到 redis等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

444

2024.04.07

redis缓存一般存些什么数据
redis缓存一般存些什么数据

redis缓存中存储的数据类型包括:字符串、哈希、列表、集合、有序集合、位图、地理空间数据和hyperloglog。这些数据类型适用于存储各种数据,从简单信息到复杂对象和地理位置。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

403

2024.04.07

Java 项目构建与依赖管理(Maven / Gradle)
Java 项目构建与依赖管理(Maven / Gradle)

本专题系统讲解 Java 项目构建与依赖管理的完整体系,重点覆盖 Maven 与 Gradle 的核心概念、项目生命周期、依赖冲突解决、多模块项目管理、构建加速与版本发布规范。通过真实项目结构示例,帮助学习者掌握 从零搭建、维护到发布 Java 工程的标准化流程,提升在实际团队开发中的工程能力与协作效率。

8

2026.01.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7万人学习

Git 教程
Git 教程

共21课时 | 2.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号