Ubuntu16.04.1 安装Redis-Cluster
Redis在3.0版正式引入了集群这个特性。Redis集群是一个分布式(distributed)、容错(fault-tolerant)的 Redis内存K/V服务, 集群可以使用的功能是普通单机 Redis 所能使用的功能的一个子集(subset),比如Redis集群并不支持处理多个keys的命令,因为这需要在不同的节点间移动数据,从而达不到像Redis那样的性能,在高负载的情况下可能会导致不可预料的错误。
Redis集群的几个重要特征:
(1).Redis 集群的分片特征在于将键空间分拆了16384个槽位,每一个节点负责其中一些槽位。
(2).Redis提供一定程度的可用性,可以在某个节点宕机或者不可达的情况下继续处理命令.
(3).Redis 集群中不存在中心(central)节点或者代理(proxy)节点, 集群的其中一个主要设计目标是达到线性可扩展性(linear scalability)。
安装Redis
通过官网http://redis.io/获取稳定版源码包下载地址;
$ wget http://download.redis.io/releases/redis-3.2.3.tar.gz
$ tar xzf redis-3.2.3.tar.gz
$ cd redis-3.2.3
$ make
注意:
1:可能新linux系统中未安装gcc,通过如下命令安装
apt-get install build-essential
2:在make时可能出现错误" error: jemalloc/jemalloc.h: No such file or directory",通过如下命令解决。
make MALLOC=libc
安装Redis-Cluster
首先安装Redis-Cluster依赖库
安装Ruby
apt-get install ruby
安装Redis.gem
gem intall redis
注意:本步骤需要翻/墙,可以先下载到本地,然后再安装,下载地址https://rubygems.org/gems/redis/versions/3.3.1
gem install /usr/downloads/redis-3.3.1.gem
创建Redis-Cluster,并分配Redis节点
按照端口号,依次创建对应文件夹,并配置redis.conf信息
启动redis实例,查看redis进程
注意:若要让集群正常运作至少需要三个主节点,我们的环境中,每个主节点附带一个从节点,所以一共六个节点。
通过redis-trib.rb创建redis集群,命令如下
./redis-trib.rb create --replicas 1 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384
注意:表示1个salve。redis-trib.rb在redis解压目录src中可以找到。
若要让集群正常运作至少需要三个主节点,我们的环境中,每个主节点附带一个从节点,所以一共六个节点。
创建结果如下图,会提示Can I set the above configuration? (type 'yes' to accept):
输入yes ,然后出现如下图 , [OK] All 16384 slots covered表示创建成功。
检查集群状态,选中其中一个节点即可。
连接Redis集群
注意:节点会对命令请求进行分析和key的slot计算,并且会查找这个命令所要处理的键所在的槽。如果要查找的哈希槽正好就由接收到命令的节点负责处理, 那么节点就直接执行这个命令。另一方面, 如果所查找的槽不是由该节点处理的话, 节点将查看自身内部所保存的哈希槽到节点 ID 的映射记录, 并向客户端回复一个 MOVED 错误。
cluster集群相关命令,更多redis相关命令见文档:http://redis.readthedocs.org/en/latest/
集群
CLUSTER INFO 打印集群的信息
CLUSTER NODES 列出集群当前已知的所有节点(node),以及这些节点的相关信息。
节点
CLUSTER MEET <ip> <port> 将 ip 和 port 所指定的节点添加到集群当中,让它成为集群的一份子。
CLUSTER FORGET <node_id> 从集群中移除 node_id 指定的节点。
CLUSTER REPLICATE <node_id> 将当前节点设置为 node_id 指定的节点的从节点。
CLUSTER SAVECONFIG 将节点的配置文件保存到硬盘里面。
槽(slot)
CLUSTER ADDSLOTS <slot> [slot ...] 将一个或多个槽(slot)指派(assign)给当前节点。
CLUSTER DELSLOTS <slot> [slot ...] 移除一个或多个槽对当前节点的指派。
CLUSTER FLUSHSLOTS 移除指派给当前节点的所有槽,让当前节点变成一个没有指派任何槽的节点。
CLUSTER SETSLOT <slot> NODE <node_id> 将槽 slot 指派给 node_id 指定的节点,如果槽已经指派给另一个节点,那么先让另一个节点删除该槽>,然后再进行指派。
CLUSTER SETSLOT <slot> MIGRATING <node_id> 将本节点的槽 slot 迁移到 node_id 指定的节点中。
CLUSTER SETSLOT <slot> IMPORTING <node_id> 从 node_id 指定的节点中导入槽 slot 到本节点。
CLUSTER SETSLOT <slot> STABLE 取消对槽 slot 的导入(import)或者迁移(migrate)。
键
CLUSTER KEYSLOT <key> 计算键 key 应该被放置在哪个槽上。
CLUSTER COUNTKEYSINSLOT <slot> 返回槽 slot 目前包含的键值对数量。
CLUSTER GETKEYSINSLOT <slot> <count> 返回 count 个 slot 槽中的键。
本文链接: 文章作者:雨~桐 文章出处:http://www.cnblogs.com/piscesLoveCc/ 如果您觉得阅读本文对您有帮助,请点一右下角的“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
转载于:https://www.cnblogs.com/piscesLoveCc/p/5779795.html
Ubuntu16.04.1 安装Redis-Cluster相关推荐
- Ubuntu16.04下安装Redis数据库
技术交流QQ群:1027579432,欢迎你的加入! 1.安装redis数据库 安装命令:sudo apt-get install redis-server 2.检查redis服务器系统进程 cdl@ ...
- linux如何安装neo4j,Ubuntu16.04 如何安装neo4j数据库
什么是neo4j数据库? neo4j数据库是图数据库的一种,属于nosql的一种,常见的nosql数据库还有redis.memcached.mongDB等,不同于传统的关系型数据库,nosql数据也有 ...
- ubuntu16.04 下安装Opencv2.4.9
ubuntu16.04 下安装Opencv2.4.9 OpenCV的源码download from: https://sourceforge.net/projects/opencvlibrary/? ...
- 阿里云云服务器ECS上的Ubuntu16.04桌面安装及root账户登录错误处理
阿里云云服务器ECS上的Ubuntu16.04桌面安装及root账户登录错误处理 2018-06-28 16:42:45 程百球 阅读数 2793更多 分类专栏: 程序配置 版权声明:本文为博主原创文 ...
- 通过Anaconda在Ubuntu16.04上安装 TensorFlow(GPU版本)
一. 安装环境 Ubuntu16.04.3 LST GPU: GeForce GTX1070 Python: 3.5 CUDA Toolkit 8.0 GA1 (Sept 2016) cuDNN v6 ...
- Ubuntu16.04在线安装MongoDB详细教程
Ubuntu16.04在线安装MongoDB详细教程 文章目录 Ubuntu16.04在线安装MongoDB详细教程 前言 安装流程 信任MongoDB公钥 创建列表文件 安装MongoDB 常见问题 ...
- Ubuntu16.04怎样安装Python3.6
Ubuntu16.04默认安装了Python2.7和3.5 请注意,系统自带的python千万不能卸载! 输入命令python 按Ctrl+D退出python命令行 输入命令sudo add-apt- ...
- mongodb安装教程Linux,Ubuntu16.04手动安装MongoDB的详细教程
我最近在研究MongoDB的路上,那么今天也算个学习笔记吧!今天用Ubuntu16.04手动安装MongoDB,分享给大家 注意事项: 仔细按步骤阅读操作 注意别写错字 牢记上面两点 一.用自带的火狐 ...
- Ubuntu16.04 Xmind安装
Ubuntu16.04 Xmind安装: 官网下载:直接下载不用注册: 到下载目录选择下载文件右键,提取到此处(为登录用户权限):在终端采用root权限解压为root权限(unzip xmind-8- ...
- matlab安装好 启动总是闪退_在Ubuntu16.04下安装MATLAB2017b
1. 前言 最近在折腾Ubuntu系统的高端机子,matlab这家伙的交互和可视化太方便了!于是想在Linux下安装matlab,在各个版本中,matlab2017的性价比是非常高的,因此选择安装介个 ...
最新文章
- GdiPlus[12]: IGPLinearGradientBrush 的其他构建方式
- python五十二:__setattr__,__delattr__,__getattr__方法
- 替换k个字符后最长重复子串
- 划重点!十分钟掌握牛顿法凸优化
- .ini文件中的PHP 5.6 error_reporting设置不起作用
- mfc cstring 写入文件_兄弟Brother单色激光传真一体机MFC系列不能写入此文件夹提示解决方案...
- SAP系统和微信集成的系列教程之三:微信用户关注公众号之后,自动在SAP C4C系统创建客户主数据
- Interpreter(解释器)--类行为型模式
- Exchanger及其用法
- 3-5:常见任务和主要工具之归档和备份
- 使用PowerShel导入和导出Hyper-v虚拟机
- OpenSSL版本号
- 站在巨人的肩膀上看Servlet——原来如此(更适合初学者认识Servlet)
- ssh 连接保持不中断
- 中国城市公园规划建设行业运行状况与趋势预测展望报告2022-2028年版
- 计算机学院 统计学博士点,统计学 国家重点学科/博士点/硕士点
- 【值得收藏】如此心机的老婆,不难教出一个优秀的女儿。谁娶了都是福。
- Linux解压缩解压tar.gz文件
- 【Python作业】对股票数据分析处理
- 测试数据准备之 CMD 命令:copy(指定尺寸图片1M放大成6M)
热门文章
- android c语言串口通信,安卓串口通信能用的modebus CRC16计算,附对应的C语言CRC16
- 我的世界java版_我的世界Java版1.15版本
- java调用geckofx_Scala学习(三)数组相关操作
- Axure函数与属性速查
- window.location.href如何多次请求_测试同学必会系列之如何进行幂等性的测试
- c gui qt 4编程第二版_一本专门学习PyQt5 GUI编程的书
- 第六章节 多态 (多态的概述)
- Potentiometers
- Codeforces Round #468 (Div. 2): D. Peculiar apple-tree(水题)
- bzoj 1604: [Usaco2008 Open]Cow Neighborhoods 奶牛的邻居(切比雪夫距离+multiset贪心+并查集)