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

相关推荐
黄暄2 小时前
Linux项目部署全攻略:从环境搭建到前后端部署实战
java·linux·运维·服务器·前端·后端·持续部署
鬣主任3 小时前
入职软件开发与实施工程师了后........
后端
薯条不要番茄酱3 小时前
【SpringBoot】从零开始全面解析SpringMVC (三)
java·spring boot·后端
编程乐学(Arfan开发工程师)4 小时前
10、底层注解-@Conditional条件装配
java·spring boot·后端·架构
帮帮志5 小时前
vue3与springboot交互-前后分离【验证element-ui输入的内容】
spring boot·后端·ui
计算机学姐5 小时前
基于SpringBoot的小型民营加油站管理系统
java·vue.js·spring boot·后端·mysql·spring·tomcat
声声codeGrandMaster6 小时前
Django框架的前端部分使用Ajax请求一
前端·后端·python·ajax·django
duapple12 小时前
Golang基于反射的ioctl实现
开发语言·后端·golang
my_styles15 小时前
docker-compose部署项目(springboot服务)以及基础环境(mysql、redis等)ruoyi-ry
spring boot·redis·后端·mysql·spring cloud·docker·容器
免檒17 小时前
go语言协程调度器 GPM 模型
开发语言·后端·golang