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

一 简介:今天咱们来谈谈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个或以上的主节点,否则在创建集群时会失败,并且当存活的主节点数小于总节点数的一半时,整个集群就无法提供服务了。

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

时间: 2024-10-02 10:57:46

redis第五篇~谈谈redis3.2的集群架构的相关文章

Redis3.0.7集群部署完整版

Redis3.0.7集群安装部署 Redis集群没有出来前,一直使用Codis集群,现在部署Redis集群看看效果如何. 一,架构 Centos6.5 64位 redis1 redis1:6379主 redis3:6380从 redis2 redis2:6379主 redis1:6380从 redis3 redis3:6379主 redis2:6380从 二,部署Redis实例 1,安装依赖 yum -y install tcl-devel 2,下载 wget http://download.r

redis3.2.8集群安装

Redis3.2.8集群部署 第一步:安装redis wget http://download.redis.io/releases/redis-3.2.8.tar.gz tar xfredis-3.2.8.tar.gz cd redis-3.2.8/ make  --编译安装 make install #将可执行文件拷贝到/usr/local/bin目录下 也可以PREFIX=""指定目录 makePREFIX=/some/other/directory install  #指定二进制

Redis-3.2.4集群配置(RedisCluster+SpringBoot+Jedis)

此文由本人参考其他大神文档和资料,再结合当前环境做出的配置,有什么问题请联系我. 部署计划 部署6个redis节点,为3主3从. 端口 IP地址 6379 192.168.101.121 6379 192.168.101.199 6379 192.168.101.123 6379 192.168.101.127 6379 192.168.101.125 6379 192.168.101.126 目录结构 /data/redis |-- bin |   |-- redis-benchmark |

从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)

从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html 第二篇http://www.cnblogs.com/lyhabc/p/4682028.html 这一篇是从0开始搭建SQL Server AlwaysOn 的第二篇,主要讲述如何搭建故障转移集群,因为AlwaysOn是基于Windows的故障转移集群的 在讲解步骤之前需要了解一下故障转移集群仲裁配置 下面图片来自<Wind

Redis基本概念、基本使用与单机集群部署

1. Redis基础 1.1 Redis概述 Redis是一个开源.先进的key-value存储,并用于构建高性能.可扩展的应用程序的完美解决方案. Redis从它的许多竞争继承了三个主要特点:   ①Redis数据库完全在内存中,使用磁盘仅用于持久性:   ②相比许多键值对数据存储,Redis拥有一套较为丰富的数据类型:   ③Redis可以将数据复制到任意数据量的从服务器: 1.2 Redis优势 异常快速:Redis的速度非常快,每秒能执行约11万次set操作,每秒约81000次get操作

Redis3.2.8集群安装配置

准备环境: 使用2台centos服务器,每台机器上部署3个实例,集群为三个主节点与三个从节点: 第一台 192.168.1.107:7000 192.168.1.107:7001 192.168.1.107:7002 第二台 192.168.1.108:7003 192.168.1.108:7004 192.168.1.108:7005 安装配置: 192.168.1.107服务器 #yum -y install gcc zlib ruby rubygems #gem install redis

redis集群实现(一)集群架构与初始化

redis是一个高可用.高性能.高可扩展性的基于内存也支持持久化存储的kv存储数据库,redis相比较于之前的kv存储memcached而言,不但支持的value类型大大增加,并且还支持数据的持久化,弥补了memcached的不能持久化的缺点,但是在3.0之前的redis并不支持集群功能,这也是redis在3.0之前不能被大量部署的一个原因,但是由于3.0以后的redis支持了集群功能,redis就开始大量的替代之前的memcached,今天我从源代码层次学习下redis是怎么实现集群功能的.

redis 集群架构 cluster 、sentinel

redis-cluster 实验环境: centos6.5   IP:192.168.1.11 依赖包:redis    ruby   rubygem     [[email protected] redis]#tar xf redis-3.0.2.tar.gz [[email protected] redis]#cd redis-3.0.2 [[email protected] redis]#make &&make install 用tab键看redis-  这些工具是否安装好,没安装则

redis3.0.0 集群安装详细步骤

Redis集群部署文档(centos6系统) (要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下) 127.0.0.1:7000127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 1:下载redis.官网下载3.0.0版本,之前2.几的版本不支持集群模式 下载地址:https://github.com