没有合适的资源?快使用搜索试试~ 我知道了~
首页Redis Cluster集群的搭建与实践
资源详情
资源评论
资源推荐
集群
一、 设计
集群搭建的方式有多种,例如使用 等,但从 之后版本支持
集群, 采用无中心结构,每个节点保存数据和整个集群状态
每个节点都和其他所有节点连接。其 架构图如下:
其结构特点:
、所有的 节点彼此互联 机制内部使用二进制协议优化传输速度
和带宽。
、节点的 ! 是通过集群中超过半数的节点检测失效时才生效。
、客户端与 节点直连不需要中间 "# 层客户端不需要连接集群所有节点连
接集群中任何一个可用节点即可。
$、 把所有的物理节点映射到%&'( 上(不一定是平均分
配)负责维护 )*+*+,!。
-、 集群预分好 &'$ 个桶,当需要在 集群中放置一个 #,!时,
根据 &#.&'$ 的值,决定将一个 # 放到哪个桶中。
、 节点分配
现在我们是三个主节点分别是:/0三个节点,它们可以是一台机器上的三个端口,
也可以是三台不同的服务器。那么,采用哈希槽 1!1的方式来分配 &'$ 个
的话,它们三个节点分别承担的 区间是:
节点 / 覆盖 --$&2
节点 0 覆盖 -$&-32
节点 覆盖 3-&'
获取数据:
如果存入一个值,按照 哈希槽的算法: &4#45&'$6
&7'。 那么就会把这个 #的存储分配到 0上了。同样,当我连接/0任何一个节
点想获取4#4这个 # 时,也会这样的算法,然后内部跳转到 0 节点上获取数据
新增一个主节点:
新增一个节点 8, 的这种做法是从各个节点的前面各拿取一部分 到
8 上,我会在接下来的实践中实验。大致就会变成这样:
节点 / 覆盖 &--$&
节点 0 覆盖 &'73
节点 覆盖 ''&'
节点 8 覆盖 &$-$&&'&3'7
同样删除一个节点也是类似,移动完成后就可以删除这个节点了。
、 主从模式
为了保证数据的高可用性,加入了主从模式,一个主节点对应一个
或多个从节点,主节点提供数据存取,从节点则是从主节点拉取数据备份,当这个主节点
挂掉后,就会有这个从节点选取一个来充当主节点,从而保证集群不会挂掉。
上面那个例子里集群有 /0 三个主节点如果这 个节点都没有加入从节点,如果
0 挂掉了,我们就无法访问整个集群了。/ 和 的 也无法访问。
所以我们在集群建立的时候,一定要为每个主节点都添加了从节点比如像这样集群
包含主节点 /、0、以及从节点 /、0、那么即使 0 挂掉系统也可以继续正确工
作。
0 节点替代了 0 节点,所以 集群将会选择 0 节点作为新的主节点,集群将会
继续正确地提供服务。 当 0 重新开启后,它就会变成 0 的从节点。
不过需要注意,如果节点 0 和 0 同时挂了, 集群就无法继续正确地提供服务了。
二、 集群的搭建
集群中至少应该有奇数个节点,所以至少有三个节点,每个节点至少有一个备份节点,
所以下面使用 & 节点(主节点、备份节点由 集群确定)。
下面使用 安装,下载地址
、安装 节点指定端口
解压 压缩包,编译安装
[plain],9!)#
1. [root@localhostredis-3.2.0]#tarxzfredis-3.2.0.tar.gz
2. [root@localhostredis-3.2.0]#cdredis-3.2.0
3. [root@localhostredis-3.2.0]#make
4. [root@localhostredis01]#makeinstallPREFIX=/usr/andy/redis-
cluster
在 下 修改 :) 文件夹为 复制 ) 配置文件
配置 的配置文件 )
!.)#;后台启动
7;修改端口号,从 7 到 7&
)!:#;开启 ,去掉注释
)<=<))
).-
!))##
复制六份,修改对应的端口号
、安装 : 所需的 :# 脚本
复制 解压文件 下的 :: 文件到 目录
[plain],9!)#
1. [root@localhostredis-cluster]#cp/usr/andy/redis/redis-3.2.0/
src/redis-trib.rb./
安装 :# 环境:
[plain],9!)#
1. [root@localhostredis-cluster]#yuminstallruby
2. [root@localhostredis-cluster]#yuminstallrubygems
安装 :: 运行依赖的 :# 的包 =.,下载
[plain],9!)#
1. [root@localhostredis-cluster]#geminstallredis-3.2.2.gem
、启动所有的 节点
可以写一个命令脚本 !!1
[plain],9!)#
1. cdredis01
2. ./redis-serverredis.conf
3. cd..
4. cdredis02
5. ./redis-serverredis.conf
6. cd..
7. cdredis03
8. ./redis-serverredis.conf
9. cd..
10. cdredis04
11. ./redis-serverredis.conf
12. cd..
13. cdredis05
14. ./redis-serverredis.conf
15. cd..
16. cdredis06
17. ./redis-serverredis.conf
18. cd..
设置权限启动
[plain],9!)#
1. [root@localhostredis-cluster]#chmod777start-all.sh
2. [root@localhostredis-cluster]#./start-all.sh
查看 进程启动状态
[plain],9!)#
1. [root@localhostredis-cluster]#ps-ef|grepredis
2.
3. root45471023:12?00:00:00./redis-server
127.0.0.1:7001[cluster]
4. root45511023:12?00:00:00./redis-server
127.0.0.1:7002[cluster]
5. root45551023:12?00:00:00./redis-server
127.0.0.1:7003[cluster]
6. root45591023:12?00:00:00./redis-server
127.0.0.1:7004[cluster]
7. root45631023:12?00:00:00./redis-server
127.0.0.1:7005[cluster]
8. root45671023:12?00:00:00./redis-server
127.0.0.1:7006[cluster]
9. root48404421023:26pts/100:00:00grep--
color=autoredis
可以看到 的 & 个节点已经启动成功
杀死全部的几点:
[plain],9!)#
1. [root@localhostredis-cluster]#pkill-9redis
剩余31页未读,继续阅读
linmeng022
- 粉丝: 1
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0