码迷,mamicode.com
首页 > 其他好文 > 详细

redis第五篇~谈谈redis3.2的集群架构

时间:2017-12-28 16:09:58      阅读:228      评论:0      收藏:0      [点我收藏+]

标签:download   tar   word   crc   down   bin   pos   版本   如何   

一 简介:今天咱们来谈谈redis的集群架构

二 安装流程:

  1 安装redis   cd /root/software

   wget http://download.redis.io/releases/redis-3.2.4.tar.gz
   tar -zxvf redis-3.2.4.tar.gz 
   cd redis-3.2.4
   make && make install
   cp redis-trib.rb /usr/local/bin/  
 2 查看版本
  redis-cli --version
 3 创建集群目录
 mkdir -p /usr/local/redis-cluster/7001-7006

 cp /root/redis-3.2.4/redis.conf /usr/local/redis-cluster/7001-7006

4 修改配置文件
 7001-7006
 sed -i ‘s/6379/port/g‘ redis.conf
 sed -i ‘s/^# cluster/cluster/g‘ redis.conf
 sed -i ‘s/daemonize no/daemonize yes/g‘ redis.conf
 sed -i ‘/following:/d‘ redis.conf
5 启动集群节点

redis-server /usr/local/redis_cluster/7001-7006/redis.conf
6 安装ruby环境

wget ftp.ruby-lang.org/pub/ruby/ruby-2.3.0.tar.gz
./configure
make && make install
需要注意 ruby需要1.9.3 以上否则下面会报错
gem install redis
7 创建集群
redis-trib.rb create --replicas 1 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006
127.0.0.1:7001
127.0.0.1:7002
127.0.0.1:7003
Adding replica 127.0.0.1:7004 to 127.0.0.1:7001
Adding replica 127.0.0.1:7005 to 127.0.0.1:7002
Adding replica 127.0.0.1:7006 to 127.0.0.1:7003
可以发现 前三的为主 后三的为从
M: 0a6fb23089113e7077199c9215913bc6cbdd6dee 127.0.0.1:7001
slots:0-5460 (5461 slots) master
M: 99b93fba6685d7a33b965959c3481581bc7f9122 127.0.0.1:7002
slots:5461-10922 (5462 slots) master
M: 2dbadedc66609586e0e969c9ad67110d28768ff1 127.0.0.1:7003
slots:10923-16383 (5461 slots) master
这些哈希值要注意下 以后迁移数据会用到
输入yes 创建成功
8 连接测试
 redis-cli -c -p 7002 -c代表连接到集群
 set hello word 添加kv
 get hello 获取V
  -> Redirected to slot [866] located at 127.0.0.1:7001
可以看到key被分配到7001的实例上
9 相关原理
 1 如何分片数据到多个主
 redis cluster 默认分配了 16384 个slot,当我们set一个key 时,会用CRC16算法来取模得到所属的slot,然后将这个key 分到哈希槽区间的节点上,具体算法就是:CRC16(key) % 16384。这种方式被称为 哈希槽 (hash slot)的方式来分配的
 2 master故障后的处理
 Redis 集群会把数据存在一个 master 节点,然后在这个 master 和其对应的salve 之间进行数据同步。当读取数据时,也根据一致性哈希算法到对应的 master 节点获取数据。只有当一个master 挂掉之后,才会启动一个对应的 salve 节点,充当 master 。
 注意 需要注意的是:必须要3个或以上的主节点,否则在创建集群时会失败,并且当存活的主节点数小于总节点数的一半时,整个集群就无法提供服务了。

redis第五篇~谈谈redis3.2的集群架构

标签:download   tar   word   crc   down   bin   pos   版本   如何   

原文地址:https://www.cnblogs.com/danhuangpai/p/8135826.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!