Centos 离线傻瓜式一键式部署 Redis 集群(附脚本+安装包)

前言

环境要求

  • Redis版本:7.0.12
  • 系统环境:Centos 7
  • 用户权限:普通用户
  • gcc编译器:必须

若没有gcc -v提示-bash: gcc: command not found,则表示没有安装gcc

可以参考我的另一篇博文# CentOS离线一键安装gcc(附安装包+脚本),进行gcc的安装

集群规模

本文默认的集群搭建规模如下表所示:

服务器 示例IP 端口
node1 10.0.0.1 8379, 8380
node2 10.0.0.2 8379, 8380
node3 10.0.0.3 8379, 8380

即三主三从,部署在三台服务器上的redis集群。 当然具体是几主几从,部署到几台服务器上,是可以在下面执行脚本时自己选择决定。

资源下载

使用教程

  1. 上传下载到的redis_7.0.12_install.tar到指定的三台服务器node1node2node3中。

    若你需要将redis集群部署到6台不同的服务器上,则需要上传tar包到6台服务器上。

  2. 在三台服务器node1node2node3上的资源包同级目录下,分别执行以下命令:

    shell 复制代码
    tar -xvf redis_7.0.12_install.tar && cd redis_7.0.12_install && ./install.sh /opt/module/redis 8379 8380
    • /opt/module/redis:redis安装根目录路径
    • 8379:redis在此服务器上的第一个节点端口
    • 8380:redis在此服务器上的第二个节点端口

    关于install.sh脚本说明:

    • install.sh命令模板范例:./install.sh [redis_dir] [port1 port2 ...]
    • 若还需要在此服务器上部署第三个、第四个redis,继续追加port参数即可。一个port参数,对应此服务器上的一个redis节点服务。
    • 如果想要部署redis到6台不同的服务器上,则执行上面的命令到6台不同的服务器上即可。构成6主6从的redis集群。
    • 若想一台服务器一个redis节点,同6个节点,6个服务器。则需要在6台服务器的资源包同级目录下执行命令tar -xvf redis_7.0.12_install.tar && redis_7.0.12_install/install.sh /opt/module/redis 8379
  3. 将各个节点加入到redis集群中

    bash 复制代码
    # 进入到redis安装目录
    cd /opt/module/redis
    
    # 执行加入redis节点的命令
    yes yes | ./bin/redis-cli --cluster create 10.0.0.1:8379 10.0.0.1:8380 10.0.0.2:8379 10.0.0.2:8380 10.0.0.3:8379 10.0.0.3:8380 --cluster-replicas 1 -a admin123456

    创集群的命令,命令最后的admin123456是设置的认证密码,-replicas 1的意思是每台redis服务器有一个备份机,执行完此命令后,该脚本会自动为这6个redis实例分配主从和槽。 如果你想自己指定节点的主从对应关系,可以参考# Redis集群指定主从关系及动态增删节点

  4. 登录任意一台服务器节点,执行以下命令,验证集群状态:

    shell 复制代码
    # 进入到redis安装目录
    cd /opt/module/redis
    
    # 验证redis集群状态及信息
    ./bin/redis-cli -h localhost -c -p 8379 -a admin123456 cluster nodes
  5. 最终的目录结构

    如果你觉得脚本生成的redis集群结构和配置内容不符合你的预期,你可以参考# redis 主从模式、哨兵模式、集群模式 离线搭建的集群模式部分,进行手动搭建

相关推荐
万少9 小时前
Vibe Coding不停歇,移动端 TRAE SOLO 让你用手机也能编程啦
前端·javascript·后端
Rust研习社9 小时前
为什么 Rust 没有空指针?
开发语言·后端·rust
皮皮林5519 小时前
全网最全的 Jenkins + Maven + Git 自动化部署指南!
后端
舒一笑9 小时前
用几十行代码搞定 Chat 接口透明转发:跨环境轻量级网关实战
后端·程序员·架构
铁皮饭盒10 小时前
成为AI全栈 - 第3课:路由 RESTful Elysia 状态码 设计规范
前端·后端·全栈
我叫黑大帅11 小时前
如何通过 Python 实现招聘平台自动投递
后端·python·面试
狼爷11 小时前
短视频播放量(Views)计数系统实现方案:高并发、不丢数的工业级实践
后端·架构
苍何12 小时前
我用 Tabbit 浏览器搭了一套内容创作全自动流水线,太香了!
后端
苍何12 小时前
全网首测,TRAE SOLO 的 AI 麦克风!
后端
IT_陈寒12 小时前
Redis这个内存杀手,差点让我们运维半夜追杀我
前端·人工智能·后端