Redis
Redis 三主三从集群部署
Redis 教程
Redis中key键与value类型的相关操作
Redis排障命令
Redis哨兵集群运维指令
本文档使用 MrDoc 发布
-
+
首页
Redis 三主三从集群部署
本文记录如何使用 Redis 官方二进制包部署一个 三主三从 的高可用集群,包含完整的部署、配置、集群创建、密码设置与验证过程。 # Redis 三主三从集群部署 本文记录如何在 **三台机器上部署 Redis 三主三从集群**,每台机器运行两个实例(端口为 `6001` 和 `6002`),共 6 个节点。其中,每台机器的 `6001` 实例为主节点,`6002` 为对应主节点的从节点。所有配置基于 Redis 二进制运行,无需 Docker。使用 IP 段 `192.168.100.0/24`,统一密码为 `admin`,Redis 主目录为 `/data/redis`。 --- ## 一、节点规划 | 主机 IP | 实例端口 | 角色 | | -------------- | ---- | --- | | 192.168.100.11 | 6001 | 主节点 | | 192.168.100.11 | 6002 | 从节点 | | 192.168.100.12 | 6001 | 主节点 | | 192.168.100.12 | 6002 | 从节点 | | 192.168.100.13 | 6001 | 主节点 | | 192.168.100.13 | 6002 | 从节点 | --- ## 二、安装 Redis 二进制 在每台机器上执行: ```bash cd /usr/local/src wget http://download.redis.io/releases/redis-7.2.5.tar.gz tar -zxvf redis-7.2.5.tar.gz cd redis-7.2.5 make && make install ``` --- ## 三、配置目录与文件 ### 1. 创建实例目录 ```bash for port in 6001 6002; do mkdir -p /data/redis/${port} done ``` ### 2. 创建配置模板 `/data/redis/redis-cluster-template/redis.conf` ```conf port ${PORT} bind 0.0.0.0 requirepass admin masterauth admin cluster-enabled yes cluster-config-file nodes-${PORT}.conf cluster-node-timeout 5000 appendonly yes daemonize yes protected-mode no dir /data/redis/${PORT} logfile "/data/redis/${PORT}/redis.log" ``` ### 3. 批量生成配置文件 ```bash for port in 6001 6002; do export PORT=$port envsubst < /data/redis/redis-cluster-template/redis.conf > /data/redis/${port}/redis.conf done ``` --- ## 四、启动 Redis 实例 ```bash for port in 6001 6002; do redis-server /data/redis/${port}/redis.conf done ``` 三台机器都按上述方式执行,确保共启动 6 个节点。 --- ## 五、创建 Redis 集群 在任意节点上执行(推荐在 `192.168.100.11`): ```bash redis-cli -a --cluster create \ 192.168.100.11:6001 192.168.100.12:6001 192.168.100.13:6001 \ 192.168.100.11:6002 192.168.100.12:6002 192.168.100.13:6002 \ --cluster-replicas 1 ``` > 说明:可使用 `admin@IP:PORT` 形式传入密码。 输入 `yes` 进行确认。 --- ## 六、验证集群状态 ### 1. 查看集群节点 ```bash redis-cli -a admin -c -h 192.168.100.11 -p 6001 cluster nodes ``` ### 2. 查看集群信息 ```bash redis-cli -a admin -c -h 192.168.100.11 -p 6001 cluster info ``` --- ## 七、测试写入读取 ```bash redis-cli -a admin -c -h 192.168.100.11 -p 6001 set name "hello" redis-cli -a admin -c -h 192.168.100.13 -p 6002 get name ``` --- ## 八、动态设置密码(可选) ```bash redis-cli -a admin -p 6001 CONFIG SET requirepass admin redis-cli -a admin -p 6001 CONFIG SET masterauth admin redis-cli -a admin -p 6001 CONFIG REWRITE ``` --- ## 九、关闭与启动所有节点 ```bash # 停止 for port in 6001 6002; do redis-cli -a admin -p $port shutdown done # 启动 for port in 6001 6002; do redis-server /data/redis/${port}/redis.conf done ``` --- ## 十、重置集群(慎用) ```bash for port in 6001 6002; do redis-cli -a admin -p $port flushall redis-cli -a admin -p $port cluster reset done ``` --- ## 十一、注意事项 * 每个主节点必须至少有一个从节点,使用 `--cluster-replicas 1` 参数自动绑定; * 端口通信需要开放: * Redis 端口(6001、6002) * 集群总线端口(6001+10000=16001,6002+10000=16002) * 配置文件中的 `requirepass` 与 `masterauth` 必须一致。
Nathan
2025年5月16日 21:46
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文件
Docx文件
分享
链接
类型
密码
更新密码