LINUX:关于Redis集群的节点分配
文章来源:http://www.cnblogs.com/hello-tl/p/7808268.html
根据上述 Redis集群搭建:http://www.cnblogs.com/hello-tl/p/7804225.html 的步骤 今天来学习一下添加节点 / 节点重新分配
0、查看Redis nodes节点 / 退出Redis集群
目前是 7000 - - - - 7500 六个节点
# redis-cli -c -p 7000 cluster nodes //查看REdis nodes节点
28ec5253bab7d4a9e578dfcb750529bca08e0bfd 127.0.0.1:7300 slave 23927b9e69d3bc2e6bab95baf599ab4d38ec4bfd 0 1510210213694 4 connected
462269d1bcb020c0aa7b95850c1aafacea86cbfc 127.0.0.1:7100 master - 0 1510210212692 2 connected 5461-10922
78762d55924b0c1ba4411caf6d53d1abd88ae5bc 127.0.0.1:7400 slave 462269d1bcb020c0aa7b95850c1aafacea86cbfc 0 1510210215696 5 connected
23927b9e69d3bc2e6bab95baf599ab4d38ec4bfd 127.0.0.1:7000 myself,master - 0 0 1 connected 0-5460
7074b2ada87e0f390204dfda24e5abc9f7391201 127.0.0.1:7200 master - 0 1510210211691 3 connected 10923-16383
ab433002f799d10dbf7f811d84c6ef327fe24d73 127.0.0.1:7500 slave 7074b2ada87e0f390204dfda24e5abc9f7391201 0 1510210214695 6 connected
主----从
7000-7300
7100-7400
7200-7500
1、添加一个Redis nodes节点
# pwd
/home/redis ## 添加一个端口目录 并且吧 redis.conf 复制到 7600文件夹
# mkdir 7600
# cp 7000/redis.conf 7600/
## 修改 7600 redis.conf 文件端口改成7600 ## 运行 7600 实例
# redis-server redis.conf
# ps aux | grep redis 查看7600实例是否成功
root 12513 0.0 0.5 138964 9772 ? Ssl 14:35 0:00 redis-server 127.0.0.1:7000 [cluster]
root 12544 0.0 0.5 138964 9780 ? Ssl 14:39 0:00 redis-server 127.0.0.1:7100 [cluster]
root 12550 0.0 0.5 138964 9772 ? Ssl 14:39 0:00 redis-server 127.0.0.1:7200 [cluster]
root 12554 0.0 0.4 136916 7736 ? Ssl 14:39 0:00 redis-server 127.0.0.1:7300 [cluster]
root 12561 0.0 0.4 136916 7736 ? Ssl 14:39 0:00 redis-server 127.0.0.1:7400 [cluster]
root 12571 0.0 0.4 136916 7748 ? Ssl 14:40 0:00 redis-server 127.0.0.1:7500 [cluster]
root 12610 0.0 0.4 136916 7544 ? Ssl 14:47 0:00 redis-server 127.0.0.1:7600 [cluster]
root 12615 0.0 0.0 112644 964 pts/1 R+ 14:48 0:00 grep --color=auto redis ************************* 添加节点
## 将7000 添加到 7600 节点下边
# pwd
/home/redis/redis-3.2.9/src # ./redis-trib.rb add-node 127.0.0.1:7600 127.0.0.1:7000 ## 重新查看 nodes 节点
# redis-cli -c -p 7000 cluster nodes
28ec5253bab7d4a9e578dfcb750529bca08e0bfd 127.0.0.1:7300 slave 23927b9e69d3bc2e6bab95baf599ab4d38ec4bfd 0 1510210715456 4 connected
462269d1bcb020c0aa7b95850c1aafacea86cbfc 127.0.0.1:7100 master - 0 1510210716458 2 connected 5461-10922
78762d55924b0c1ba4411caf6d53d1abd88ae5bc 127.0.0.1:7400 slave 462269d1bcb020c0aa7b95850c1aafacea86cbfc 0 1510210717460 5 connected
23927b9e69d3bc2e6bab95baf599ab4d38ec4bfd 127.0.0.1:7000 myself,master - 0 0 1 connected 0-5460
43be9c0e09eff614279721803c1ad9b36e06eb77 127.0.0.1:7600 master - 0 1510210720466 0 connected
7074b2ada87e0f390204dfda24e5abc9f7391201 127.0.0.1:7200 master - 0 1510210719463 3 connected 10923-16383
ab433002f799d10dbf7f811d84c6ef327fe24d73 127.0.0.1:7500 slave 7074b2ada87e0f390204dfda24e5abc9f7391201 0 1510210718461 6 connected 主----从
7000-7300
7100-7400
7200-7500
7600
## 增加了新的节点之后,这个新的节点可以成为主节点或者是从节点
## 把这个节点变成主节点,使用redis-trib程序,将集群中的某些哈希槽移动到新节点里面, 这个新节点就成为真正的主节点了。
2、移动一个Redis nodes节点
********************** 方式一
## 将 7600 节点移动到 7000 节点下
# redis-cli -c -p 7600 cluster replicate 23927b9e69d3bc2e6bab95baf599ab4d38ec4bfd
OK
## 重新查看 nodes 节点
# redis-cli -c -p 7000 cluster nodes
28ec5253bab7d4a9e578dfcb750529bca08e0bfd 127.0.0.1:7300 slave 23927b9e69d3bc2e6bab95baf599ab4d38ec4bfd 0 1510211580854 4 connected
462269d1bcb020c0aa7b95850c1aafacea86cbfc 127.0.0.1:7100 master - 0 1510211579852 2 connected 5461-10922
78762d55924b0c1ba4411caf6d53d1abd88ae5bc 127.0.0.1:7400 slave 462269d1bcb020c0aa7b95850c1aafacea86cbfc 0 1510211582859 5 connected
23927b9e69d3bc2e6bab95baf599ab4d38ec4bfd 127.0.0.1:7000 myself,master - 0 0 1 connected 0-5460
43be9c0e09eff614279721803c1ad9b36e06eb77 127.0.0.1:7600 slave 23927b9e69d3bc2e6bab95baf599ab4d38ec4bfd 0 1510211583860 1 connected
7074b2ada87e0f390204dfda24e5abc9f7391201 127.0.0.1:7200 master - 0 1510211578851 3 connected 10923-16383
ab433002f799d10dbf7f811d84c6ef327fe24d73 127.0.0.1:7500 slave 7074b2ada87e0f390204dfda24e5abc9f7391201 0 1510211581857 6 connected 主----从
7000-7300 7600
7100-7400
7200-7500
********************** 方式二
## 将 7600 节点移动到 7000 节点下
# redis-cli -c -p 7600
# cluster replicate 23927b9e69d3bc2e6bab95baf599ab4d38ec4bfd
# exit
OK
## 重新查看 nodes 节点
# redis-cli -c -p 7000 cluster nodes
28ec5253bab7d4a9e578dfcb750529bca08e0bfd 127.0.0.1:7300 slave 23927b9e69d3bc2e6bab95baf599ab4d38ec4bfd 0 1510211580854 4 connected
462269d1bcb020c0aa7b95850c1aafacea86cbfc 127.0.0.1:7100 master - 0 1510211579852 2 connected 5461-10922
78762d55924b0c1ba4411caf6d53d1abd88ae5bc 127.0.0.1:7400 slave 462269d1bcb020c0aa7b95850c1aafacea86cbfc 0 1510211582859 5 connected
23927b9e69d3bc2e6bab95baf599ab4d38ec4bfd 127.0.0.1:7000 myself,master - 0 0 1 connected 0-5460
43be9c0e09eff614279721803c1ad9b36e06eb77 127.0.0.1:7600 slave 23927b9e69d3bc2e6bab95baf599ab4d38ec4bfd 0 1510211583860 1 connected
7074b2ada87e0f390204dfda24e5abc9f7391201 127.0.0.1:7200 master - 0 1510211578851 3 connected 10923-16383
ab433002f799d10dbf7f811d84c6ef327fe24d73 127.0.0.1:7500 slave 7074b2ada87e0f390204dfda24e5abc9f7391201 0 1510211581857 6 connected 主----从
7000-7300 7600
7100-7400
7200-7500
文章来源:http://www.cnblogs.com/hello-tl/p/7808268.html
LINUX:关于Redis集群的节点分配的更多相关文章
- redis 集群新增节点,slots槽分配,删除节点, [ERR] Calling MIGRATE ERR Syntax error, try CLIENT (LIST | KILL | GET...
redis reshard 重新分槽(slots) https://github.com/antirez/redis/issues/5029 redis 官方已确认该bug redis 集群重新(re ...
- (转)高性能网站架构之缓存篇—Redis集群增删节点
标签: 高性能架构集群缓存redis 上一篇文章,我们搭建了Redis-cluster集群,这篇博客跟大家讲一下如何在一个运行的集群上增加节点或者删除节点. Redis集群添加节点 首先我们要新建立一 ...
- Linux配置Redis集群 和 缓存介绍。
// 一.什么是缓存? mybatis一级缓存和二级缓存 mybatis的一级缓存存在哪? SqlSession,就不会再走数据库 什么情况下一级缓存会失效? 当被更新,删除的时候sqlsession ...
- Linux 下Redis集群安装部署及使用详解(在线和离线两种安装+相关错误解决方案)
一.应用场景介绍 本文主要是介绍Redis集群在Linux环境下的安装讲解,其中主要包括在联网的Linux环境和脱机的Linux环境下是如何安装的.因为大多数时候,公司的生产环境是在内网环境下,无外网 ...
- Linux环境redis集群搭建
集群后tomcat context.xml的配置 <!-- 集群配置--> <Valve className="com.radiadesign.catalina.sessi ...
- Redis集群之节点管理
Redis集群一旦启动,就不能轻易删除掉一个节点了. 需要由redis-trib.rg这个ruby脚本行使集群管理的功能.所有的哈希槽都分配于master节点 一.delete master node ...
- Linux 下redis 集群搭建练习
Redis集群 学习参考:https://blog.csdn.net/jeffleo/article/details/54848428https://my.oschina.net/iyinghui/b ...
- LINUX安装REDIS集群
linux安装单机版redis已经在另一篇文章说过了,下边来搞集群,环境是新浪云服务器: redis3.0以后开始支持集群. 前言:redis用什么做集群? 用一个叫redis-trib.rb的rub ...
- Linux 安装Redis<集群版>(使用Mac远程访问)
阅读本文需要先阅读安装Redis<准备> 一 架构细节 所有的redis节点彼此互联(PING-PONG机制) 内部使用二进制协议优化传输速度和带宽 节点的fail是通过集群中超过半数的节 ...
随机推荐
- 树的直径初探+Luogu P3629 [APIO2010]巡逻【树的直径】By cellur925
题目传送门 我们先来介绍一个概念:树的直径. 树的直径:树中最远的两个节点间的距离.(树的最长链)树的直径有两种方法,都是$O(N)$. 第一种:两遍bfs/dfs(这里写的是两遍bfs) 从任意一个 ...
- 基于 React-draft-wysiwyg 实现的 react 富文本编辑器组件 开箱即用
工作中遇到了一个需要做图文详情 的富文本编辑的需求, 于是基于 React-draft-wysiwyg 实现了一个 纯组件, 目前支持 常规文本输入 外部链接图片 以及本地上传图片, 由于是纯组件, ...
- Oracle数据库创建表空间及用户授权
/*分为四步 */ /*第1步:创建临时表空间 */ create temporary tablespace test_temp tempfile 'E:\app\Administrator\orad ...
- 「开源」目前见过的最好的开源OA产品
这是我目前见过的最好的开源OA产品.功能完整,代码结构清晰.值得推荐. 1.项目介绍 oasys是一个OA办公自动化系统,使用Maven进行项目管理,基于springboot框架开发的项目,mysql ...
- iOS NSUserDefaults [setValue:forKey:] [setObject:forKey:] <Objc> setValue(_,forKey:) set(_,forKey) <Swift 3>
前者其实是NSObject都可以调用的KVC方法,后者才是NSUserDefaults的实例方法: 这里参数的类型是nullable id,但是我建议你在传null的时候慎重考虑,否则你的应用就可能面 ...
- js 合并2个结构
var conditions = getJsonObj("conditionArea"); var plogId = { ProgId: getProgId() }; $.exte ...
- Generating Palindromes LightOJ - 1033
Generating Palindromes LightOJ - 1033 题意:添加最少的字符使得给出的字符串成为回文串.输出添加的字符数. 方法:常规区间dp.ans[i][j]表示使得ans[i ...
- 【转载】(0, eval)(‘this’)
var window = this || (0, eval)('this') 在avalon源码中有这么一行代码,var window = this很容易理解 这里复习一下Global Object: ...
- 使用 Realm 和 Swift 创建 ToDo 应用
原文出处: HOSSAM GHAREEB 译文出处:Prayer’s blog(@EclipsePrayer) 智能手机的快速发展的同时,涌现出了很多对开发者友好的开发工具,这些工具不仅使得开发变 ...
- IOS OS X 中集中消息的传递机制
1 KVO (key-value Observing) 是提供对象属性被改变是的通知机制.KVO的实现实在Foundation中,很多基于 Foundation 的框架都依赖与它.如果只对某一个对象的 ...