搭建好集群之后,为了扩容需要再加入一个节点。那就再复制一个7006,改为相应的redis.conf(复制了改个port就好,如果复制的redis之前属于集群,需要把关联的node.conf之类的去掉)

[root@localhost ]# vim redis.conf
[root@localhost ]# src/redis-server redis.conf
[root@localhost ]# ps -ef | grep redis
root : pts/ :: src/redis-server *:
root : ? :: src/redis-server *: [cluster]
root : ? :: src/redis-server *: [cluster]
root : ? :: src/redis-server *: [cluster]
root : ? :: src/redis-server *: [cluster]
root : ? :: src/redis-server *: [cluster]
root : ? :: src/redis-server *: [cluster]
root : ? :: src/redis-server *: [cluster]

(1)添加节点

很简单的一句命令: 前面是地址是新加入的一台redis,后面是属于之前集群的任意一台。

[root@localhost ]# src/redis-trib.rb add-node 127.0.0.1: 127.0.0.1:
>>> Adding node 127.0.0.1: to cluster 127.0.0.1:
Connecting to node 127.0.0.1:: OK
Connecting to node 127.0.0.1:: OK
Connecting to node 127.0.0.1:: OK
Connecting to node 127.0.0.1:: OK
Connecting to node 127.0.0.1:: OK
Connecting to node 127.0.0.1:: OK
>>> Performing Cluster Check (using node 127.0.0.1:)
M: 0bbc46d087d7256fb7b71ca35871446e29926afa 127.0.0.1:
slots:- ( slots) master
additional replica(s)
S: ec376f305428afde24aa363919a863f01908c140 127.0.0.1:
slots: ( slots) slave
replicates 0bbc46d087d7256fb7b71ca35871446e29926afa
M: 0b521aa8664b2e51475470230f3a975bdd4d1909 127.0.0.1:
slots:- ( slots) master
additional replica(s)
S: d1a7c6485909a119a1c276f3972b8ae3f93e52d7 127.0.0.1:
slots: ( slots) slave
replicates 0b521aa8664b2e51475470230f3a975bdd4d1909
M: 9b7b98c4bf2517e4f172a895b5728d13bef62952 127.0.0.1:
slots:- ( slots) master
additional replica(s)
S: ee95130f0aed20c62881df8070d7690c4608a7cc 127.0.0.1:
slots: ( slots) slave
replicates 9b7b98c4bf2517e4f172a895b5728d13bef62952
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All slots covered.
Connecting to node 127.0.0.1:: OK
>>> Send CLUSTER MEET to node 127.0.0.1: to make it join the cluster.
[OK] New node added correctly.

可以任意进入一台机器来查看是否添加了新的节点,会发现刚刚添加的节点并没有托管任何的哈希槽,原因是里面还木有数据了。增加从节点只需要加上--slave参数

[root@localhost ]# src/redis-cli -c -p
127.0.0.1:> cluster nodes
0bbc46d087d7256fb7b71ca35871446e29926afa 127.0.0.1: myself,master - connected -
32cc36d5deead5d8eb3208120d6f38358c9b6a55 127.0.0.1: master - connected
ec376f305428afde24aa363919a863f01908c140 127.0.0.1: slave 0bbc46d087d7256fb7b71ca35871446e29926afa connected
0b521aa8664b2e51475470230f3a975bdd4d1909 127.0.0.1: master - connected -
d1a7c6485909a119a1c276f3972b8ae3f93e52d7 127.0.0.1: slave 0b521aa8664b2e51475470230f3a975bdd4d1909 connected
9b7b98c4bf2517e4f172a895b5728d13bef62952 127.0.0.1: master - connected -
ee95130f0aed20c62881df8070d7690c4608a7cc 127.0.0.1: slave 9b7b98c4bf2517e4f172a895b5728d13bef62952 connected

(2)删除节点

删除节点之前首先要保证节点中没有数据,如果有数据需要分片,把数据转移走。后面跟着的id用cluster nodes 就能查看到对应的啦~

删除有数据的我还需要研究研究。。。因为一些很拙计的原因~~, ./redis-trib.rb reshard 127.0.0.1: 这句是转移时讲数据分配到那些哈希槽下的命令。

[root@localhost ]# src/redis-trib.rb del-node 127.0.0.1: 'c8ed852a52863e941a6e63037e018eb2952b776a'
>>> Removing node c8ed852a52863e941a6e63037e018eb2952b776a from cluster 127.0.0.1:
Connecting to node 127.0.0.1:: OK
Connecting to node 127.0.0.1:: OK
Connecting to node 127.0.0.1:: OK
Connecting to node 127.0.0.1:: OK
Connecting to node 127.0.0.1:: OK
Connecting to node 127.0.0.1:: OK
Connecting to node 127.0.0.1:: OK
>>> Sending CLUSTER FORGET messages to the cluster...
>>> SHUTDOWN the node.

好的,假装他删的很顺利~~

还有需要补充的之后继续补充......

redis集群部署及常用的操作命令(下)的更多相关文章

  1. redis集群部署及常用的操作命令(上)

    简单说下自己测试搭建简单的redis集群的大体步骤: 1.首先你的有6个redis(官方说最少6个,3master,3slave),可以先在一台机器上搭建,搭建到多台上应该只需要改变启动命令即可(可能 ...

  2. redis集群部署及常用的操作命令_01

    简单说下自己测试搭建简单的redis集群的大体步骤: 1.首先你的有6个redis(官方说最少6个,3master,3slave),可以先在一台机器上搭建,搭建到多台上应该只需要改变启动命令即可(可能 ...

  3. Redis集群部署与维护

    Redis集群部署与维护 目录: 一. 集群架构 二. 集群部署 1. 创建redis-cluster目录 2. 编译redis 3. 编辑redis配置文件 4. 配置redis集群 5. redi ...

  4. Redis集群部署及命令

    一.简介 redis集群是一个无中心的分布式Redis存储架构,可以在多个节点之间进行数据共享,解决了Redis高可用.可扩展等问题. redis集群提供了以下两个好处: 将数据自动切分(split) ...

  5. Redis集群部署-windows

    Redis集群部署-windows 前言 为了能体验一下部署Redis集群是一种怎么样的体验,所一边做一边写了这篇记录. 1.准备 从这里下载windows服务端 https://github.com ...

  6. Redis集群部署文档(Ubuntu15.10系统)

    Redis集群部署文档(Ubuntu15.10系统)(要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如 ...

  7. Redis集群部署3.0

    我用的Mac的终端 ------------------------- 1.Redis简介 centos(5.4)  Redis是一个key-value存储系统.和Memcached类似,但是解决了断 ...

  8. 二进制redis集群部署

    二进制redis集群部署 〇.前言 无聊想学罢了 准备环境: 三台centos7 1C1GB即可 三个路相连的地址 主机 IP 节点-角色-实例(端口) redis1 172.16.106.128 M ...

  9. Redis 集群部署

    一.下载所需软件包 redis wget http://download.redis.io/releases/redis-4.0.6.tar.gz ruby wget https://cache.ru ...

随机推荐

  1. python is 和 == 的区别

    一.is 和 == 的区别 == 比较 比较的俩边的值 is 比较 比较的是内存地址 id() 二.小数据池 数字小数据池的范围 -5 ~ 256 字符串中如果有特殊字符他们的内存地址就不一样 字符串 ...

  2. Java-Runoob-高级课程:Java 集合框架

    ylbtech-Java-Runoob-高级课程:Java 集合框架 1.返回顶部 1. Java 集合框架 早在 Java 2 中之前,Java 就提供了特设类.比如:Dictionary, Vec ...

  3. nfs之脚气

    nfs工作模式参考 一.NFs是什么 NFS是Network File System的缩写,即网络文件系统.客户端通过挂载的方式将NFS服务器端共享的数据目录挂载到本地目录下. nfs为什么需要RPC ...

  4. SpringMVC传统风格控制器和基于注解的控制器

    SpringMVC的DispatcherServlet 之前说过springMVC是使用Servlet作为控制器,就是这个用于调度的DispatcherServlet了.这个是servlet,可以根据 ...

  5. MySql——编程

    基本语法形式 语句块模式: 在mysql编程中,begin....end;基本代替了原来编程语句中的{...}语法. 但又有所区别: 一个bigin...end;块,可以给定一个“标识符”,并且可以使 ...

  6. 前端性能优化:gzip压缩文件传输数据

    一.文件压缩的好处 前端生产环境中将js.css.图片等文件进行压缩的好处显而易见,通过减少数据传输量减小传输时间,节省服务器网络带宽,提高前端性能. 二.http协议如何支持压缩文件的传输 1.浏览 ...

  7. Java中static关键字介绍

    static关键字主要有两种作用: 第一,为某特定数据类型或对象分配单一的存储空间,而与创建对象的个数无关. 第二,实现某个方法或属性与类而不是对象关联在一起 具体而言,在Java语言中,static ...

  8. 03——微信小程序官方demo讲解——page部分

    一个page由一个文件夹以及文件夹下四个文件组成. 比如一个页面叫index.则需要在pages目录下新建一个index目录,且包含由index+类型(js\wxml\wxss\json)为名组成的若 ...

  9. Linux无法登录,显示module is unknown,一闪而过

    1.使用单用户模式登录系统(不作介绍) 2.查看日志:vim /var/log/secure 3.记忆起曾经配置oracle添加过该参数 vim/etc/pam.d/login中加入了: sessio ...

  10. eclipse项目推送git

    引用:http://blog.csdn.net/zongzhankui/article/details/48653731