Redis3.0集群添加节点

1:首先把需要添加的节点启动

cd /usr/local/cluster/

mkdir 7006

cp /usr/local/cluster/redis.conf  /usr/local/cluster/7006/

cd /usr/local/cluster/7006/

vi redis.conf

##修改redis.conf中的port参数的值为7006

redis-server redis.conf

2:执行以下命令,将这个新节点添加到集群中

cd /usr/local/redis3.0/src/

./redis-trib.rb add-node 192.168.1.160:7006 192.168.1.160:7000

3:执行命令redis-cli -c -p 7000 cluster nodes,查看刚才新增的节点

4:增加了新的节点之后,这个新的节点可以成为主节点或者是从节点

 4.1 把这个节点变成主节点,使用redis-trib程序,将集群中的某些哈希槽移动到新节点里面,    这个新节点就成为真正的主节点了。

执行下面的命令对集群中的哈希槽进行移动

cd /usr/local/redis3.0/src

./redis-trib.rb reshard 192.168.1.160:7000

系统会提示我们要移动多少哈希槽,这里移动1000个

然后还需要指定把这些哈希槽转移到哪个节点上,

输入我们刚才新增的节点的ID

f32dc088c881a6b930474fc5b52832ba2ff71899

然后需要我们指定转移哪几个几点的哈希槽

输入all 表示从所有的主节点中随机转移,凑够1000个哈希槽

然后再输入yes,redis集群就开始分配哈希槽了。

至此,一个新的主节点就添加完成了,执行命令查看现在的集群中节点的状态

redis-cli -c -p 7000 cluster nodes

4.2:把这个节点变成从节点

前面我们已经把这个新节点添加到集群中了,现在我们要让新节点成为192.168.1.160:7001的从节点,只需要执行下面的命令就可以了,命令后面的节点ID就是192.168.1.160:7001的节点ID

redis-cli -c -p 7006 cluster replicate 0b00721a509444db793d28448d8f02168b94bd38

使用下面命令来确认一下192.168.1.160:7006是否已经成为192.168.1.160:7001的从节点

redis-cli -p 7000 cluster nodes | grep slave | grep 0b00721a509444db793d28448d8f02168b94bd38

看到下面图片中的情况就表示添加成功

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Redis3.0集群删除节点

1:如果删除的节点是主节点,这里我们删除192.168.1.160:7006节点,这个节点有1000个哈希槽

首先要把节点中的哈希槽转移到其他节点中,执行下面的命令

cd /usr/local/redis3.0/src

./redis-trib.rb reshard 192.168.1.160:7000

系统会提示我们要移动多少哈希槽,这里移动1000个,因为192.168.1.160:7006节点有1000个哈希槽

然后系统提示我们输入要接收这些哈希槽的节点的ID,这里使用192.168.1.160:7001的节点ID

然后要我们选择从那些节点中转出哈希槽,这里一定要输入192.168.1.160:7006这个节点的ID,最后输入 done  表示输入完毕

最后一步,使用下面的命令把这个节点删除

cd /usr/local/redis3.0/src/

./redis-trib.rb del-node 192.168.1.160:7000  需要删除的节点ID

2:如果节点是从节点的,直接使用下面的命令删除即可。

cd /usr/local/redis3.0/src/

./redis-trib.rb del-node 192.168.1.160:7000 需要删除的节点ID

redis集群添加删除节点的更多相关文章

  1. redis 集群添加新节点

    准备好需要添加的节点:如何创建节点 启动创建的节点: 启动成功: 添加新节点:redis-cli --cluster add-node 127.0.0.1:7006 127.0.0.1:7000  第 ...

  2. redis集群添加新节点

    一.创建节点(接上文) 1.在H1服务器/root/soft目录下创建7002目录 2.将7001目录的配置文件redis.conf拷贝到7002,并修改配置文件的端口 3.进入 redis-5.0. ...

  3. kubernetes 集群添加node节点

    kubernetes 集群添加node节点 注意,我们并不需要把新增的node ip加入到证书里重新生成!!! 下面我们以添加node03为例 一.添加集群里个节点的hostname并设置好对应主机名 ...

  4. k8s集群节点更换ip 或者 k8s集群添加新节点

    1.需求情景:机房网络调整,突然要回收我k8s集群上一台node节点机器的ip,并调予新的ip到这台机器上,所以有了k8s集群节点更换ip一说:同时,k8s集群节点更换ip也相当于k8s集群添加新节点 ...

  5. windows下配置redis集群,启动节点报错:createing server TCP listening socket *:7000:listen:Unknown error

    windows下配置redis集群,启动节点报错:createing server TCP listening socket *:7000:listen:Unknown error 学习了:https ...

  6. 大数据实操3 - hadoop集群添加新节点

    hadoop集群支持动态扩展,不需要停止原有集群节点就可以实现新节点的加入. 我是使用docker搭建的进群环境,制作了镜像文件,这里以我的工作基础为例子介绍集群中添加集群的方法 一.制作一个新节点 ...

  7. hadoop集群添加新节点

    0.说明 Hadoop集群已经运行正常,现在新买了一些机子,要加入到集群里面增加新的节点.以下就是增加的过程. 1.配置运行环境 安装与master和其他slave相同的java环境,jdk版本要相同 ...

  8. Redis集群环境各节点无法互相发现与Hash槽分配异常 CLUSTERDOWN Hash slot not served的解决方式

    总结/朱季谦 在搭建Redis5.x版本的集群环境曾出现各节点无法互相发现与Hash槽分配异常 CLUSTERDOWN Hash slot not served的情况,故而把解决方式记录下来. 在以下 ...

  9. 现有rabbitmq集群添加新节点,移除旧节点(可以作为rabbitmq集群迁移使用)

    原有集群安装步骤:https://www.cnblogs.com/sanduzxcvbnm/p/15797788.html 1.拉取镜像 集群中新节点需要执行 docker pull rabbitmq ...

随机推荐

  1. iOS开发之如何修改导航栏的内容

    导航栏的内容由栈顶控制器的navigationItem属性决定. UINavigationItem有以下属性影响着导航栏的内容(通常在子控制器中viewDidLoad方法中调用这些方法): 左上角的返 ...

  2. 自动部署Nginx和nfs并架设Nginx集群脚本

    本人经过多次尝试,简单完成了自动部署Nginx和nfs脚本,并且能够自动部署web反向代理集群,下面详细的阐述一下本人的思路.(以下脚本本人处于初学阶段,写的并不是很完善,所以需要后期进行整理和修正, ...

  3. 机器学习:Python实现lms中的学习率的退火算法

    ''' 算法:lms学习率的退火算法 解决的问题:学习率不变化,收敛速度较慢的情况 思路:由初始解和控制参数初值开始,对当前解重复进行"产生新解-->计算目标函数差--> 接受或 ...

  4. 【C++】指针与引用的区别

    本文主要总结在C++中指针与引用的区别. 从定义与性质来看指针与引用有如下区别: 指针表示的是一块变量的地址 引用表示一个变量的别名. 因此指针变量需要占用空间(一个指针变量在32位系统下占用4字节, ...

  5. 【SoDiaoEditor更新啦】--谨以献给那些还在医疗行业奋斗的小伙伴们

    先放github地址:https://github.com/tlzzu/SoDiaoEditor.v2 首先,这不是愚人节的玩笑,,, 本想着三月底发布来着,结果昨天又在兼容性上调出几个bug,然后拖 ...

  6. webService请求方式快速生成代码 (Postman)

    Postman 这个东西只能在外网下载,是Goole一个插件. 1.FQ到外网,这里就不具体介绍怎么FQ了 2.上到谷歌浏览器,找到更过工具--->扩张程序--->获取更多扩张程序 3.在 ...

  7. scss的初级学习随笔小计

    $white: #fff;$three: #333;$six: #666;$nine: #999;$red: #fff;$orange: #f63;$yellow: #fc0;$opcity: rgb ...

  8. ConcurrentHashMap总结

    线程不安全的HashMap 因为多线程环境下,使用HashMap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap,如以下代码   final HashM ...

  9. 严格模式下的javascript

    arguments: ECMA5移除了实参对象(arguments),在非严格模式下函数里的arguments只是一个标识符,在严格模式下它变成了保留字.严格模式下无法使用arguments作为形参名 ...

  10. MyBatis注解配置动态SQL

    MySQL创建表 DROP TABLE IF EXISTS `tb_employee`; CREATE TABLE `tb_employee` ( `id` int(11) NOT NULL AUTO ...