Redis Cluster 初探(1) - 集群搭建与扩容

Redis 学习笔记(十五)Redis Cluster 集群扩容与收缩 Redis Cluster 集群伸缩1. 伸缩原理Redis提供了灵活的节点扩容和收缩方案。在不影响集群对外服务的情况下,可以为集群添加节点进行扩容也可以对下线节点进行缩容。我们在Redis Cluster 介绍与搭建这篇文章中搭建了一个三主三从的Redis集群(如下图所示)。在搭建 Redis Cluster 通信流程剖析这篇博客中根据源码详细剖析了搭建集群的流程。本篇博客要讲的是,Redis集群 阅读详情

Redis Cluster 初探(1) - 集群搭建与扩容

转载  2016年08月09日 10:42:37
  • 1850

转:http://www.jianshu.com/p/bd7bf38d9b87

Redis Cluster 初探(1) - 集群搭建与扩容

字数2278  阅读154  评论0 

Redis Cluster是Redis官方的集群实现方案,在此之前已经有一些民间的第三方Redis集群解决方案,如Twitter的Twenproxy,豌豆荚的Codis,与其不同的是,Redis Cluster并非使用Porxy的模式来连接集群节点,而是使用无中心节点的模式来组建集群,有一定性能优势也有缺点,本文主要是我调研Redis Cluster的一些知识整理与经验汇总。

首先我们来尝试下搭建一个Redis Cluster集群

前置准备

Redis Cluster需要Redis 3.0及以上版本才支持,此文发布的时候,Redis的最高版本为3.0.5。

wget http://download.redis.io/releases/redis-3.0.5.tar.gz
tar -xvf redis-3.0.5.tar.gz
cd redis-3.0.5
make

编译完Redis,生成的可执行文件在redis-3.0.5/src之中,为了方便使用,我们把可执行文件的目录加入PATH之中。

vim ~/.bashrc

# 增加以下内容

REDIS_HOME=/home/xiezefan/sofeware/redis-3.0.5/src
PATH=$REDIS_HOME:$PATH
export PATH

# 保存后让修改生效

source ~/.bashrc

要创建Redis Cluster,我们还需要安装Ruby以及RubyGems。

yum install ruby
yum install gcc g++ make automake autoconf curl-devel openssl-devel zlib-devel httpd-devel apr-devel apr-util-devel sqlite-devel
yum install ruby-rdoc ruby-devel
yum install rubygems
gem install redis
创建集群

此次此时我们需要创建8个节点,端口号7000~7007

复制redis-3.0.5/redis.conf,修改一下内容

mkdir cluster
cp ~/sofeware/redis-3.0.5/redis.conf cluster/
vim cluster/redis.conf
# 修改以下内容
port 7000
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes

批量复制7份,修改配置文件的端口号。修改完毕后,分别进入各个节点的目录中启动redis

cd 7000
redis-server redis.conf

cd 7001
redis-server redis.conf

# 依次启动7000-7007
...

至此,8个Redis全都启动完毕,但是他们还处于彼此互相不知道彼此的阶段。

xiezefan@ubuntu:~$ ps -ef | grep redis
xiezefan 13372     1  0 20:09 ?        00:00:08 redis-server *:7000 [cluster]
xiezefan 13376     1  0 20:09 ?        00:00:08 redis-server *:7001 [cluster]
xiezefan 13380     1  0 20:09 ?        00:00:08 redis-server *:7002 [cluster]
xiezefan 13382     1  0 20:09 ?        00:00:08 redis-server *:7003 [cluster]
xiezefan 13386     1  0 20:09 ?        00:00:08 redis-server *:7004 [cluster]
xiezefan 13390     1  0 20:09 ?        00:00:08 redis-server *:7005 [cluster]
xiezefan 13394     1  0 20:09 ?        00:00:08 redis-server *:7006 [cluster]
xiezefan 13400     1  0 20:09 ?        00:00:08 redis-server *:7007 [cluster]

下一步,我们要将7000-7005这六个节点连接成一个集群。

redis-trib.rb create --replicas 1 10.211.55.4:7000 10.211.55.4:7001 10.211.55.4:7002 10.211.55.4:7003 10.211.55.4:7004 10.211.55.4:7005

该命令表示,将7000-7006节点创建一个集群,冗余为1,就是3主3从。切记,此处指定的IP会在client发送move命令的时候返回,所以一定要指定为客户端能访问到的IP,例如下面这种IP是不可行的,client拿到的IP就位是127.0.0.1导致一直重定向失败。

redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005

输入后,redis-trib自动分配给出一个slot的分配方案

>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
10.211.55.4:7000
10.211.55.4:7001
10.211.55.4:7002
Adding replica 10.211.55.4:7003 to 10.211.55.4:7000
Adding replica 10.211.55.4:7004 to 10.211.55.4:7001
Adding replica 10.211.55.4:7005 to 10.211.55.4:7002
M: 9dfef549f7917794cbabaf96781ed0e19957c1f3 10.211.55.4:7000
   slots:0-5460 (5461 slots) master
M: c14485e8d7f1f3ec5c505b41fe727b657c951d8d 10.211.55.4:7001
   slots:5461-10922 (5462 slots) master
M: 8b308093e99f4299b8c18ab1dd81c5a83a3528c6 10.211.55.4:7002
   slots:10923-16383 (5461 slots) master
S: 632409883570eb5cecf6089583fba64a41d1154f 10.211.55.4:7003
   replicates 9dfef549f7917794cbabaf96781ed0e19957c1f3
S: edd31196e2980360b0738c57af95e1a69b0f9c9b 10.211.55.4:7004
   replicates c14485e8d7f1f3ec5c505b41fe727b657c951d8d
S: 95063a99c5cf2cc4abc51ca1e8ff0f3b8d60271c 10.211.55.4:7005
   replicates 8b308093e99f4299b8c18ab1dd81c5a83a3528c6
Can I set the above configuration? (type 'yes' to accept):

输入yes后,集群自动创建,创建完毕后,通过redis-cli进入任一节点,使用cluster nodes命令可以查看各个节点的状态

xiezefan@ubuntu:~$ redis-cli -p 7000
127.0.0.1:7000>cluster nodes
c14485e8d7f1f3ec5c505b41fe727b657c951d8d 10.211.55.4:7001 master - 0 1449060968280 2 connected 5461-10922
95063a99c5cf2cc4abc51ca1e8ff0f3b8d60271c 10.211.55.4:7005 slave 8b308093e99f4299b8c18ab1dd81c5a83a3528c6 0 1449060968280 6 connected
edd31196e2980360b0738c57af95e1a69b0f9c9b 10.211.55.4:7004 slave c14485e8d7f1f3ec5c505b41fe727b657c951d8d 0 1449060967274 5 connected
8b308093e99f4299b8c18ab1dd81c5a83a3528c6 10.211.55.4:7002 master - 0 1449060966769 3 connected 10923-16383
632409883570eb5cecf6089583fba64a41d1154f 10.211.55.4:7003 slave 9dfef549f7917794cbabaf96781ed0e19957c1f3 0 1449060967274 4 connected
9dfef549f7917794cbabaf96781ed0e19957c1f3 10.211.55.4:7000 myself,master - 0 0 1 connected 0-5460

随便输入一个查询指令get user.1

127.0.0.1:7000> get user.1
(error) MOVED 9645 10.211.55.4:7001

因为user.1所在的solt-9645在7001节点上,cluster给你发送MOVED指令让你去7001节点查找数据,连接redis-cli的时候,使用-c参数可以指定查询时接收到MOVED指令自动跳转

xiezefan@ubuntu:~$ redis-cli -c -p 7000
127.0.0.1:7000> get user.1
-> Redirected to slot [9645] located at 10.211.55.4:7001
(nil)
集群扩容

现在我们已经有一个包含6个节点的集群,我写了段代码,往集群写入10W条测试数据。
现在模拟机器扩容场景,为集群加入一个master节点7006和一个slave节点7007。

redis-trib.rb add-node 10.211.55.4:7006 10.211.55.4:7000

以上命令将7006节点接入7000所在的集群。接下来,我们为7006增加一个slave节点。

redis-trib.rb add-node --slave 10.211.55.4:7007 10.211.55.4:7000

以上命令表示增加slave节点,将7006的节点加入7000节点所在的集群中作为slave节点,随机依附现有的master节点中slave最少的节点,如果需要再指定特别的master节点,使用

redis-trib.rb add-node --slave --master-id 23b412673af0506df6382353e3a65960d5b7e66d 10.211.55.4:7007 10.211.55.4:7000

其中的23b412673af0506df6382353e3a65960d5b7e66d是7006节点的id,我们可以通过cluster nodes命令查看节点的id。

接下来我们用坐负载均衡,Slot是Redis Cluster数据承载的最小单位,我们可以指定将一定范围的Slot转移到新的节点来实现负载均衡。

Redis Cluster转移一个Slot的步骤是:

  1. 在目标节点上声明将从源节点上迁入Slot CLUSTER SETSLOT <slot> IMPORTING <source_node_id>
  2. 在源节点上声明将往目标节点迁出Slot CLUSTER SETSLOT <slot> IMPORTING <source_node_id>
  3. 批量从源节点获取KEY CLUSTER GETKEYSINSLOT <slot> <count>
  4. 将获取的Key迁移到目标节点 MIGRATE <target_ip> <target_port> <key_name> 0 <timeout>
  5. 重复步骤3,4直到所有数据迁移完毕
  6. 分别向双方节点发送 CLUSTER SETSLOT <slot> NODE <target_node_id>,该命令将会广播给集群其他节点,已经将Slot转移到目标节点。
  7. 等待集群状态变为OK CLUSTER INFO 中的 cluster_state = ok

我编写了一个脚本来批量迁移Slot

#!/bin/bash
source_host=$1  # 源节点HOST
source_port=$2  # 源节点端口
target_host=$3  # 目标节点HOST
target_port=$4  # 目标节点端口
start_slot=$5   # 迁移节点的其实范围
end_slot=$6     # 迁移节点的结束范围


for slot in `seq ${start_slot} ${end_slot}`
do
    redis-cli -c -h ${target_host} -p ${target_port} cluster setslot ${slot} importing `redis-cli -c -h ${source_host} -p ${source_port} cluster nodes | grep ${source_port} | awk '{print $1}'`
    echo "Setslot importing ${slot} to ${target_host}:${target_port} success"
    redis-cli -c -h ${source_host} -p ${source_port} cluster setslot ${slot} migrating `redis-cli -c -h ${target_host} -p ${target_port} cluster nodes | grep ${target_port} | awk '{print $1}'`
    echo "Setslot migrating ${slot} from ${source_host}:${source_port} success"

    while [ 1 -eq 1 ]
    do
        allkeys=`redis-cli -c -h ${source_host} -p ${source_port} cluster getkeysinslot ${slot} 10`
        if [ -z "${allkeys}" ]
        then
            redis-cli -c -h ${source_host} -p ${source_port} cluster setslot ${slot} node `redis-cli -c -h ${target_host} -p ${target_port} cluster nodes | grep ${target_port} | awk '{print $1}'`
            redis-cli -c -h ${target_host} -p ${target_port} cluster setslot ${slot} node `redis-cli -c -h ${source_host} -p ${target_port} cluster nodes | grep ${target_port} | awk '{print $1}'`
            echo "Migrate slot ${slot} finish"
            break
        else 
            for key in ${allkeys}
            do
                redis-cli -c -h ${source_host} -p ${source_port} migrate ${target_host} ${target_port} ${key} 0 5000
                echo "Migrate slot ${slot} key ${key} success"
            done
        fi
    done
done

执行命令 bash rebalance-cluster.sh 10.211.55.4 7000 10.211.55.4 7006 0 1000 将7000节点上0-1000这个范围内的Slot转移到7006节点,通过cluster nodes命令我们可以看到0-1000这个区间是slot已经从7000转移到7006

xiezefan@ubuntu:~/sheel$ redis-cli -c -p 7000 cluster nodes
23b412673af0506df6382353e3a65960d5b7e66d 10.211.55.4:7006 master - 0 1449064402389 7 connected 0-1000
0c2954d21d7bcdae333f4fdecf468ce05aa25544 10.211.55.4:7001 master - 0 1449064400372 2 connected 5461-10922
384a3bb5bd9ecb2fc7db75c866abc715d7966f82 10.211.55.4:7002 master - 0 1449064401381 3 connected 10923-16383
c3e09d286ef2dce49843268b20832d65a5d516a1 10.211.55.4:7004 slave 0c2954d21d7bcdae333f4fdecf468ce05aa25544 0 1449064401885 5 connected
50737b4a91443ab1a34eec4ef99d4f6fe5d358f4 10.211.55.4:7005 slave 384a3bb5bd9ecb2fc7db75c866abc715d7966f82 0 1449064402389 6 connected
3c62cc6664bba378cceb8ae8e02f5d727deafe9d 10.211.55.4:7007 slave 23b412673af0506df6382353e3a65960d5b7e66d 0 1449064400878 7 connected
d6441916dcd89cbf431465d92dfc0eb3dd235295 10.211.55.4:7003 slave 6ee21c5d93a6d2f293a2df1b37e8c9c27cb55ad8 0 1449064402389 4 connected
6ee21c5d93a6d2f293a2df1b37e8c9c27cb55ad8 10.211.55.4:7000 myself,master - 0 0 1 connected 1001-5460

参考文章

本文首发: http://xiezefan.me/2015/12/03/redis_cluster_research_1/

Redis Cluster 初探(2) - 运行规制 - 简书
— 上一篇文章我们说过,RedisCluster采用SmartClient的方式,避免与节点的通讯还需要通过一层Proxy,以达到性能地提升。SmartClient的优点与缺点网上也有很多人在讨论,我们现在来了解下RedisClient的连接模式。RedisCluster是无中心节点的设计,Client可以连接集群中的任一一个节点,当操作的Key不在该节点的Slot中的时候,如访问在Slot-6433的Key,客户端会返回一个(error)MOVED643310.211.55.4:7001这样的错误信息。Cl 
linux环境搭建redis cluster集群 在/opt/hy/redis-cluster/目录下创建node-7001,node-7002,node-7003,node-7004,node-7005,node-7006等6个redis节点目录。# --cluster add-node 添加节点 新节点IP:新节点端口 任意存活节点IP:任意存活节点端口。# --cluster add-node 添加节点 新节点IP:新节点端口 任意存活节点IP:任意存活节点端口。--cluster-replicas 复制因子1,即每个主节点需一个从节点。 阅读详情

相关推荐

Redis-Cluster集群搭建

一,官方cluster分区 Redis3.0之后,Redis官方提供了完整的集群解决方案。 方案采用去中心化的方式,包括:sharding(分区)、replication(复制)、failover(故障转移)。称为RedisCluster。 Redis5.0前采用redis-trib进行集群的创建和管理,需要ruby支持 Redis5.0可以直接使用Redis-cli进行集群的创建和管理 二,部署架构 三,集群搭建 RedisCluster最少需要三台主服务器,三台从服务器。端口号分别为:7001~

liucy007的博客 3439

redis集群扩容

在电商项目双11期间,通常有更多的并发,对redis的请求压力激增,需要更多的redis对外提供服务,但是过了双11,redis压力骤降,为了节省成本,需要撤出部分redis服务!我们可以通过增加和删除redis集群节点来实现redis集群的动态扩容、缩容,增加redis集群的高可用性。原始集群(见下图)由6个节点组成,6个节点分布在三台机器上(本案例仅在一台机器演示!),采用三主三从的模式。

yzx3105的博客 1318

Docker搭建Redis的cluster集群

文章目录1、简介2、哈希槽与cluster集群3、初步搭建cluster集群3.1 配置cluster集群的三个主节点3.2 配置三个从节点3.3 为各个节点创建容器3.4 使用docker inspect redisClusterMaster1等命令查看各个节点IP和端口3.5 连接各个节点3.6 分配哈希槽3.7 从节点设置3.8 主从关系设置 1、简介 相比于哨兵集群,cluster集群能支持扩容,且无须额外的节点来监控状态,所以使用这种模式集群的系统会用得更多些。 2、哈希槽与cluster集群 在

冲出仁川,走出马德里,故事还会再继续 1739

Redis集群--扩容的过程(原理)

本文介绍Redis的Cluster集群扩容的过程(原理)。

IT利刃出鞘的博客 4833

深入学习 Redis Cluster - 基于 Docker、DockerCompose 搭建 Redis 集群,处理故障、扩容方案

当前阶段,由于我只有一个 云服务器,搞分布式系统就比较麻烦,而实际工作中,一般是通过多个主机的方式来搭建集群的. 因此这里我会 基于 docker、docker-compose(容器编排) 来搭建 redis 集群.

CYK_byte的博客 2370

大数据之数据抽取架构演变过程

而当时我们搭建的Flink集群是基于YARN进行资源管理和调度的,因为YARN中不仅仅包含着FLInk的资源,也有hive,zoozie,hdfs等等的资源,这样容易造成yarn资源的过度使用,容易引起整个底座的cpu以及内存的使用问题,经过排查,主要是由于FLink的使用资源引起的,所以后续就把Flink从整个集群中剥离出来,进行资源的隔离,最后Flink采用了StandAlone HA部署(但是这个目前还是存在问题,后续根据项目进行优化)'topic' = '表名',二、数据抽取架构的演变。

天道酬勤 868

Redis Cluster集群扩容主从节点详细教程

文章目录1.Cluster集群扩容概念2.在新节点部署redis cluster3.使用工具将redis-4加入集群3.1.安装ruby环境3.2.将redis-4加入集群4.将槽位重新分配4.1.所有节点分出槽位给新节点4.2.迁移指定节点的槽位给新节点4.3.查看集群信息及状态5.配置四主四从交叉复制5.1.配置四主四从交叉复制5.2.查看集群信息及状态 1.Cluster集群扩容概念 当redis数据量日渐增长,当内存不够用的时候,这时候就需要集群扩容了,cluster集群扩容可以增加内存也可以增加节

江晓龙的博客 7356

从零组装一台会‘看’的无人机:手把手教你配置NUC机载电脑与D435深度相机(环境搭建篇)

本文详细介绍了如何从零开始组装一台具备视觉能力的智能无人机,重点讲解了NUC机载电脑与D435深度相机的配置方法。通过Ubuntu系统安装、ROS环境搭建、深度学习框架配置等步骤,帮助开发者实现无人机的自主避障和目标跟踪功能。文章还提供了性能优化和常见问题解决方案,是无人机视觉系统开发的实用指南。

weixin_30915275的博客 400

redis 集群

看问题: 容量不够,redis如何进行扩容? 并发写操作, redis如何分摊? 另外,主从模式,薪火相传模式,主机宕机,导致ip地址发生变化,应用程序中配置需要修改对应的主机地址、端口等信息。之前通过代理主机来解决,但是redis3.0中提供了解决方案。就是无中心化集群配置。 什么是集群 Redis 集群实现了对Redis的水平扩容,即启动N个redis节点,将整个数据库分布存储在这N个节点中,每个节点存储总数据的1/N。 Redis 集群通过分区(partition)来提供一定程度的可用性(avai

TylerPY的博客 1177

从零构建:Simulink与PX4的快速原型开发实战

本文详细介绍了如何利用Simulink与PX4进行四旋翼无人机的快速原型开发,涵盖环境搭建、动力学建模、控制器设计、仿真验证及自动代码生成全流程。通过实战案例展示姿态控制器的实现与调试,帮助开发者高效完成从算法设计到硬件部署,显著提升开发效率并降低试错成本。

plant的博客 323

从透射谱到能量分布:用Rsoft破解光纤光栅耦合模式的3个关键技巧

本文面向光通信工程师与研究者,分享了利用Rsoft软件深入分析光纤光栅耦合模式的三个关键技巧。通过配置场监视器观察XY截面能量分布、利用传播动画追踪动态过程,并结合模式求解器精准判定相位匹配,帮助用户超越透射谱分析,直观可视化能量从纤芯到包层的耦合与流动,从而优化器件设计。

weixin_29290963的博客 422

Redis 7.x 系列【26】集群模式动态扩容、动态缩容

Redis 集群支持动态增加节点实现扩容,提高集群容量和数据处理能力,接下来演示将之前三主三从扩容为四主四从。Redis 集群支持动态删除节点实现缩容,从集群中移除节点,将分配给该节点的哈希槽移动到其他现有节点上。接下来演示将上面的四主四从恢复为三主三从。

记录知识、锤炼自我 2417

【数学模型】灰色关联分析

数学模型-灰色关联分析

suic009的博客 1万+

Redis Cluster 集群搭建与运维操作指南

本文介绍了Redis Cluster集群的搭建过程,主要内容包括: 编译安装hiredis-cluster客户端库,需先安装libevent开发包 准备6个节点环境(3主3从),配置各节点端口、数据目录等参数 通过脚本批量启动所有节点

平平无奇的小甜菜 1088

C语言—for循环打印矩形,正三角形,倒三角形,九九乘法,等腰三角形,倒着的等腰三角形(简易版代码)(重点考察for循环嵌套)

本章节教大家如何利用for循环打印正三角形,倒三角形,九九乘法表及等腰三角形(简易版代码)说明:1、循环语句的循环体内又包含另一个完整的循环结构,称为循环结构的嵌套。内嵌的循环语句中还可以再嵌套循环结构,这样就形成多重循环结构的嵌套。2、for 语句、while 语句和 do-while 语句都允许嵌套。三种循环语句可以相互嵌套。3、内层的循环语句必须完全被包含在外层的循环体中,不能发生交叉。

m0_63501145的博客 1697

基于 FPGA Vivado 信号发生器设计(附源工程)

今天给大侠带来基于 FPGA Vivado 信号发生器设计,开发板实现使用的是Digilent basys 3,如有想要入手basys3开发板的,可以联系牛总:18511371833。话不多说,上货。 本篇掌握基于 FPGA Vivado 信号发生器设计(附源工程),掌握基于添加文件和IP的Vivado工程设计流程,掌握基于Tcl的Vivado工程设计流程,学习信号发生器的基本组成结构。获取本篇相关源工程代码,可在公众号内回复“信号发生器设计源工程”。 设计原理 信号发生器...

7992

Redis Cluster 去中心化集群搭建与运维全指南

本文介绍了Redis集群(去中心化)的相关内容。Redis集群解决了单实例存在的写并发和海量数据存储压力问题,通过数据分片实现去中心化,有16384个哈希槽,key经哈希计算分配到不同槽,由集群节点负责。还讲解了集群配置,需多台服务器,配置文件需修改端口等参数并启动实例,再用命令创建集群。此外,涵盖故障转移、扩容(添加节点并重新分片)和缩容(迁移槽位后删除节点)等操作,以及相关注意事项,如集群部分节点故障的处理等。

2302_81303859的博客 1459

微信小程序 - 最新图片组拖拽排序更换位置功能,类似微信朋友圈九宫格图片的拖动排序效果,微信小程序实现九宫格图片拖拽调换位置,小程序详细实现图像拖曳拖动切换位置排序功能(详细示例代码,一键复制开箱即用

微信小程序,wechat,小程序,图片排序,图像排序,九宫格拖拽排序,拖曳,拖动,拖拽,仿微信朋友圈,朋友圈宫格图片排序,微信朋友圈图片拖动排序效果,实现九宫格图片拖拽,图像拖拽排序组件插件,小程序实现拖拽图片切换图片位置,图片拖动互换位置,图像拖拽切换位置,九宫格图片组合拖动排序,交换九宫格图片的位置,小程序上传图片后,如何实现拖拽排序功能,小程序怎么实现图片拖拽排序,微信小程序图片上传,九宫格拖拽组件,选择图片并拖动_微信小程序图片拖拽,微信小程序长按拖拽排序,图像的拖拽移动,多图拖拽排序功能,实现九宫

✅ 精选推荐文章 4457

redis—cluster集群

添加节点的时候是先添加node节点到集群,然后分配槽位,删除节点的操作与添加节点的操作正好相反,是先将被删除的Redis node上的槽位迁移到集群中的其他Redis node节点上,然后再将其删除,如果一个Redis node节点上的槽位没有被完全迁移,删除该node的时候会提示有数据且无法删除。删除172.25.254.130节点,则删除172.25.254.130对应的id。将172.25.254.40添加到172.25.254.20所在的集群中。查看一组一从的对应关系,关系随机对应。

恭喜你发现了我!!!! 1275

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Redis Cluster 集群扩容 & 缩容步骤

redis 扩容、缩容、节点平衡

扛麻袋的少年的博客 5518

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

redis集群(Cluster)搭建

cluster-config-file指定的nodes.conf配置文件会存储集群中每个节点的槽位范围,这样当客户端发送一个key操作指令时当前节点能判断具体应该在哪个节点上,如果是当前节点,则直接执行对应的key操作。在删除节点之前,确保所有与该节点相关的数据已经被迁移到其他节点,使用前面的resharding 迁移槽位。这时候集群中节点已经是4个,但是新加入的7004对用分片的槽位是0,不会承载数据的读写,这个时候还需要执行reshard进行槽位迁移,从其它节点将一部分槽位迁移到当前节点。

sinat_16493273的博客 1755

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Redis集群(cluster模式)搭建

Redis集群(cluster模式)搭建

Microhoo_苏福的博客 7254

Redis Cluster 扩容全攻略:手把手教你从0到1扩容集群

Redis Cluster 扩容是指通过添加新的节点(主节点或从节点)来扩展集群的存储容量和处理能力的过程。本文将介绍Redis Cluster 扩容的详细步骤、原理及注意事项,帮助你安全高效地完成扩容操作。

weixin_42148384的博客 1813

Redis Cluster 集群扩容、数据迁移

1、集群扩容 2、添加新节点作为副本 3、删除节点 4、副本迁移 5、redis集群节点版本升级 6、迁移到redis集群 7、手动故障转移 8、集群缩容 官方文档:Redis cluster tutorial – Redis 1、集群扩容 操作流程如下:基于ansible-playbook来操作 1、禁用掉ip.txt中init_cluster组,将server组的ip替换成要扩容节点的物理机ip地址 2、根据原来集群的配置,修改vars/vars.yal的配置文件;执行an

不忘初心,方得始终 8453
上一篇: 4. 动态添加节点 4.1. 准备两个redis做主备
下一篇: 维护节点redis集群节点
王树民
博客等级 码龄10年 912粉丝 560原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值