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

相关推荐
希冀12310 分钟前
【操作系统】1.2操作系统的发展与分类
后端
GoppViper40 分钟前
golang学习笔记29——golang 中如何将 GitHub 最新提交的版本设置为 v1.0.0
笔记·git·后端·学习·golang·github·源代码管理
爱上语文2 小时前
Springboot的三层架构
java·开发语言·spring boot·后端·spring
serve the people2 小时前
springboot 单独新建一个文件实时写数据,当文件大于100M时按照日期时间做文件名进行归档
java·spring boot·后端
罗政7 小时前
[附源码]超简洁个人博客网站搭建+SpringBoot+Vue前后端分离
vue.js·spring boot·后端
拾光师9 小时前
spring获取当前request
java·后端·spring
Java小白笔记10 小时前
关于使用Mybatis-Plus 自动填充功能失效问题
spring boot·后端·mybatis
JOJO___12 小时前
Spring IoC 配置类 总结
java·后端·spring·java-ee
白总Server13 小时前
MySQL在大数据场景应用
大数据·开发语言·数据库·后端·mysql·golang·php
Lingbug14 小时前
.Net日志组件之NLog的使用和配置
后端·c#·.net·.netcore