博客
关于我
Redis集群搭建
阅读量:467 次
发布时间:2019-03-06

本文共 2055 字,大约阅读时间需要 6 分钟。

Redis 集群搭建指南

1. 安装依赖

按照 Redis 集群所需的依赖进行安装即可。需要注意的是,Redis 5.x 版本不再需要这些依赖。


2. 集群介绍

Redis 3.x 及以上版本的集群采用多主多从架构。集群由多个主机组成,每个主机都有自己的从机。从机的主要职责是同步主机数据,并在主机宕机时顶替主机提供服务。

每个主机的从机负责:

  • 同步主机数据
  • 在主机宕机时替换主机提供服务

  • 3. 集群搭建

    集群搭建至少需要 6 台虚拟机,因为至少需要 3 台主机才能形成一个集群,每个主机至少有一个从机。


    3.1 搭建配置

    在 Redis 配置中,开启 cluster 支持:

    cluster-enabled yes

    Redis 用于保存集群信息的文件路径为工作目录下的 nodes-9001.conf

    在 bind 配置时,避免配置 127.0.0.1,否则 Redis 会以此 IP 进行连接,导致无法通过外部访问集群。


    3.2 启动 Redis

    /usr/local/rediss 目录下执行以下命令启动 6 个 Redis 服务:

    ./startall.sh

    查看运行的 Redis 服务:

    ps -ef | grep redis

    3.3 创建集群

    /usr/local/redis-4.0.14/src 目录下执行以下命令创建集群:

    ./redis-trib.rb create --replicas 1 192.168.110.135:9001 192.168.110.135:9002 192.168.110.135:9003 192.168.110.135:9004 192.168.110.135:9005 192.168.110.135:9006

    输入 yes 确认创建集群。


    4. 槽

    集群共有 16384 个槽,索引范围为 0-16383。每个主机负责特定范围的槽,用于负载均衡。

    例如:

    • 主机 1 负责槽 0-5460
    • 主机 2 负责槽 5461-10922
    • 主机 3 负责槽 10923-16383

    槽是 Redis 集群用于负载均衡的计量单位,不是存储单位。


    5. 连接集群

    使用 Redis 客户端连接集群:

    redis-cli -c -p 9001 -h 192.168.110.135

    6. 集群操作

    通过 Redis CLI 对集群执行操作:

    # 示例:设置用户信息192.168.110.135:9001 set name zhj# 示例:设置性别192.168.110.135:9002 set gender true# 示例:设置年龄192.168.110.135:9003 set age 19

    7. Java 连接集群

    在 Java 项目中配置 Redis 集群连接:

    192.168.110.135:9006,192.168.110.135:9007
    5

    8. 添加主节点

    8.1 添加新节点

    新建一套 Redis 配置,启动新的 Redis 实例,并执行以下命令添加新节点:

    ./redis-trib.rb add-node 192.168.79.128:9007 192.168.79.128:9006

    8.2 重新分片

    新添加的主机需要分配槽,确保所有主机的槽负载均衡。执行以下命令重新分片:

    ./redis-trib.rb reshard 192.168.79.128:9008

    9. 添加从节点

    9.1 添加新节点

    将新节点作为从节点添加到集群,执行以下命令:

    ./redis-trib.rb add-node --slave --master-id ad27f044c31b8c3e0e43a5b1dff080144d9ca85f 192.168.79.128:9008 192.168.79.128:9006

    通过以上步骤,可以成功搭建和管理 Redis 集群。

    转载地址:http://llwfz.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现MaximumSubarray最大子阵列(动态规划解决方案)算法(附完整源码)
    查看>>
    Objective-C实现maxpooling计算(附完整源码)
    查看>>
    Objective-C实现max_difference_pair最大差异对算法(附完整源码)
    查看>>
    Objective-C实现max_heap最大堆算法(附完整源码)
    查看>>
    Objective-C实现MD5 (附完整源码)
    查看>>
    Objective-C实现md5算法(附完整源码)
    查看>>
    Objective-C实现MeanSquareError均方误差算法 (附完整源码)
    查看>>
    Objective-C实现memcmp函数功能(附完整源码)
    查看>>
    Objective-C实现memoization优化技术算法(附完整源码)
    查看>>
    Objective-C实现memset函数功能(附完整源码)
    查看>>
    Objective-C实现merge insertion sort合并插入排序算法(附完整源码)
    查看>>
    Objective-C实现merge sort归并排序算法(附完整源码)
    查看>>
    Objective-C实现mergesort归并排序算法(附完整源码)
    查看>>
    Objective-C实现miller rabin米勒-拉宾素性检验算法(附完整源码)
    查看>>
    Objective-C实现Miller-Rabin素性测试程序(附完整源码)
    查看>>
    Objective-C实现Miller-Rabin素性测试程序(附完整源码)
    查看>>
    Objective-C实现MinhashLSH算法(附完整源码)
    查看>>
    Objective-C实现MinhashLSH算法(附完整源码)
    查看>>
    Objective-C实现MinHeap最小堆算法(附完整源码)
    查看>>
    Objective-C实现minimum cut最小切割流算法(附完整源码)
    查看>>