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 主从模式、哨兵模式、集群模式 离线搭建的集群模式部分,进行手动搭建

相关推荐
王码码20355 小时前
Go语言的测试:从单元测试到集成测试
后端·golang·go·接口
王码码20355 小时前
Go语言中的测试:从单元测试到集成测试
后端·golang·go·接口
嵌入式×边缘AI:打怪升级日志6 小时前
使用JsonRPC实现前后台
前端·后端
小码哥_常6 小时前
从0到1:Spring Boot 中WebSocket实战揭秘,开启实时通信新时代
后端
lolo大魔王7 小时前
Go语言的异常处理
开发语言·后端·golang
IT_陈寒9 小时前
Python多进程共享变量那个坑,我差点没爬出来
前端·人工智能·后端
码事漫谈9 小时前
2026软考高级·系统架构设计师备考指南
后端
AI茶水间管理员10 小时前
如何让LLM稳定输出 JSON 格式结果?
前端·人工智能·后端
其实是白羊10 小时前
我用 Vibe Coding 搓了一个 IDEA 插件,复制URI 再也不用手动拼了
后端·intellij idea
用户83562907805111 小时前
Python 操作 Word 文档节与页面设置
后端·python