NoSQL之复述(分布式集群)

1。集群架构:

 NoSQL之复述(分布式集群)

解释:

    <李>所有的复述,节点彼此互联(乒乓球机制),内部使用二进制协议优化传输速度和带宽。李 <>李节点的失败是通过集群中超过半数的节点检测失效时才生效。<李> 客户端与复述,节点直连,不需要中间代理层。客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可李 <>李redis-cluster把所有的物理节点映射到(0 - 16383)槽上,集群负责维护李

复述,集群中内置了16384个哈希槽,当需要在复述,集群中放置一个键-值时,

复述,先对关键使用crc16算法算出一个结果,然后把结果对16384求余数,

这样每个关键都会对应一个编号在0 - 16383之间的哈希槽,复述,会根据节点数量大致均等的将哈希槽映射到不同的节点

 NoSQL之复述(分布式集群)

<强>误区解释:这里的集群和主从复制不同,这里的集群中所有的都是母亲,都有单节点顾长官问题,而主从复制只是解决单点故障问题,

如果想让集群模式下午单点故障问题,需要给每一个主人进行主从复制。

2。redis-cluster投票容错

 NoSQL之复述(分布式集群)

    <李>集群中所有主参与投票,如果半数以上主节点与其中一个主节点通信超过(cluster-node-timeout)认为该主节点挂掉。

集群不可用状态的判断:

    <李>如果集群任意主挂掉,且当前主人没有奴隶,则集群进入失败状态。也可以理解成集群的(0 - 16383)槽映射不完全时进入失败状态。 <李>如果集群超过半数以上主挂掉,无论是否有奴隶,集群进入失败状态。

3。复述,集群的搭建

①ruby的安装

由于集群管理工具(redis-trib。rb)是使用ruby脚本语言编写的,所以需要ruby的环境

第一步:安装ruby

[root@hdp01 bin2] # yum安装ruby

[root@hdp01 bin2] # yum安装rubygems

第二步:将redis-3.0.0。宝石文件上传到linux系统

第三步:安装ruby和复述,接口

root@hdp01 ~ #宝石redis-3.0.0安装。宝石

第四步:将redis-3.0.0包下src目录中的以下文件拷贝到redis19 redis-cluster/

 NoSQL之复述(分布式集群)

第五步:查看是否拷贝成功

 NoSQL之复述(分布式集群)”> </p> <p> </p> <p>②搭建集群:</p>这里使用3台服务器模拟复述,集群。<br/>第一步:复制出复述,到一个机器中<br/> (root@hdp01复述)# scp/xxx/redis-3.0.0 - r hostname01: ~/应用<br/> <p>第二步:如果存在持久化文件,则删除</p> <p> [root@hdp01应用]# rm射频appendonly。aof转储。rdb </p> <p>第三步:设置集群参数</p> <p>开启集群模式:</p> <p> <img src=

第五步:复制复述,服务到其他机器中

(root@hdp01复述)# scp/xxx/redis-3.0.0 - r hostname02: ~/应用
(root@hdp01复述)# scp/xxx/redis-3.0.0 - r hostname03: ~/应用

第七步:启动三台机器
(root@hdp01复述)# redis-server redis.conf(三台机器中都开启)

第九步:创建集群
[root@hdp01 redis-cluster) #。/redis-trib。rb创建,副本1 \
192.168.130.128:6379 \
192.168.130.129:6379 \
192.168.130.130:6379 \

祝辞祝辞祝辞创建集群

连接节点192.168.242.137:7001:好

连接节点192.168.242.137:7002:好

连接节点192.168.242.137:7003:好

连接节点192.168.242.137:7004:好

连接节点192.168.242.137:7005:好

连接节点192.168.242.137:7006:好

祝辞祝辞祝辞6节点上执行散列槽分配……

使用3大师:

192.168.242.137:7001 192.168.242.137:7002

192.168.242.137:7003

添加副本192.168.242.137:7004 192.168.242.137:7001

添加副本192.168.242.137:7005 192.168.242.137:7002

添加副本192.168.242.137:7006 192.168.242.137:7003

M: 8240 cd0fe6d6f842faa42b0174fe7c5ddcf7ae24 192.168.242.137:7001

槽:0 - 5460(5461位)主

M: 4 f52a974f64343fd9f1ee0388490b3c0647a4db7 192.168.242.137:7002

槽:5461 - 10922(5462位)主

M: cb7c5def8f61df2016b38972396a8d1f349208c2 192.168.242.137:7003

槽:10923 - 16383(5461位)

NoSQL之复述(分布式集群)