`
alph0618
  • 浏览: 54773 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

redis集群搭建

 
阅读更多

引用:http://www.cnblogs.com/zhaoguihua/p/redis-005.html

集群要实现的目的是要将不同的 key 分散放置到不同的 redis 节点,这里我们需要一个规则或者算法,通常的做法是获取 key 的哈希值,然后根据节点数来求模,但这种做法有其明显的弊端,当我们需要增加或减少一个节点时,会造成大量的 key 无法命中,这种比例是相当高的,所以就有人提出了一致性哈希的概念。

一致性哈希有四个重要特征:

均衡性:也有人把它定义为平衡性,是指哈希的结果能够尽可能分布到所有的节点中去,这样可以有效的利用每个节点上的资源。

单调性:对于单调性有很多翻译让我非常的不解,而我想要的是当节点数量变化时哈希的结果应尽可能的保护已分配的内容不会被重新分派到新的节点。

分散性和负载:这两个其实是差不多的意思,就是要求一致性哈希算法对 key 哈希应尽可能的避免重复。

但一致性哈希不是我们今天要介绍的重点,因为 Redis 引入另一种哈希槽(hash slot)的概念。

Redis 集群中内置了 16384 个哈希槽,当需要在 Redis 集群中放置一个 key-value 时,redis 先对 key 使用 crc16 算法算出一个结果,然后把结果对 16384 求余数,这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,redis 会根据节点数量大致均等的将哈希槽映射到不同的节点。

使用哈希槽的好处就在于可以方便的添加或移除节点。

当需要增加节点时,只需要把其他节点的某些哈希槽挪到新节点就可以了;

当需要移除节点时,只需要把移除节点上的哈希槽挪到其他节点就行了。

 

下面开始搭建环境,

1、先创建3个目录:9001、9002、9003,目录名即是redis实例的端口号:


2、然后把 redis-server、redis.conf这两个文件分别拷贝到这三个目录里面:

3、打开redis.conf文件,文件中只配置一下内容:

daemonize yes
port 9001
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes

 其余两个redis实例的端口分别修改为9002、9003。

4、分别进入这3个目录并启动这3个实例:


5、接下来使用下列命令创建集群:

./redis-trib.rb create --replicas 0 127.0.0.1:9001 127.0.0.1:9002 127.0.0.1:9003

5.1 报以下错误:


 因为是执行的ruby的脚本,需要ruby的环境,安装命令:

yum install ruby

 5.2 再执行第6步的创建集群命令,还会报错,提示缺少rubygems组件,使用yum安装:


 安装rubygems:

yum install rubygems

 5.3 再执行第6步的创建集群命令,还会报错,提示不能加载redis,是因为缺少redisruby的接口,使用gem 安装:


 安装redis:

gem install  redis --version 3.0.0

 注意:gem install redis --version 3.0.0 失败的话,需要修改一下gem的源

   gem sources --remove https://rubygems.org/
   gem sources -a https://ruby.taobao.org/

5.4 再次执行第6步的命令,正常执行:


 redis集群环境搭建成功。

  • 大小: 3 KB
  • 大小: 1.5 KB
  • 大小: 1.3 KB
  • 大小: 5.8 KB
  • 大小: 4.4 KB
  • 大小: 7.1 KB
  • 大小: 34.2 KB
分享到:
评论

相关推荐

    redis 集群搭建

    redis 集群搭建 ,单节点,集群搭建,工具包

    docker 实现redis集群搭建

    "docker 实现redis集群搭建" 一、Redis Cluster 概念 Redis Cluster 是 Redis 的分布式解决方案,旨在解决 Redis 单机中心化的问题。它将整个数据集按照分区规则映射到多个节点上,使得 Redis 能够水平扩展以应对...

    Redis集群搭建及维护文档.docx

    以下是一份简化的Redis集群搭建步骤: 1. **环境准备**: - 确保你有一个兼容的Linux环境,例如CentOS 7(64位)。 - 下载Redis的源代码包,如redis-4.0.6.tar.gz。 2. **安装Redis单节点**: - 解压Redis源...

    自学Redis集群搭建过程--全网最详细.docx

    ### 自学Redis集群搭建过程详解 #### 一、Redis集群简介与重要性 Redis作为一款高性能的键值存储系统,在互联网行业中被广泛应用于缓存、消息队列等多个领域。随着业务规模的不断扩大,单个Redis实例往往难以满足...

    阿里云公网redis集群搭建以及java访问redis集群

    阿里云公网Redis集群搭建及Java访问教程 在云计算日益普及的今天,阿里云提供了便捷的公共服务,如Redis缓存服务,帮助企业或个人快速构建高效、可靠的分布式应用。本教程将详细讲解如何在阿里云上搭建公网Redis...

    Redis集群搭建与验证.pdf

    Redis集群搭建与验证的知识点主要包括以下几个方面: 1. Redis集群概述 Redis集群是Redis提供的分布式数据库解决方案,它可以将数据自动切分到多个Redis节点上。集群通过分区来提供一定程度的可用性,在部分节点...

    Redis集群搭建.zip

    本资料"Redis集群搭建.zip"提供了真实项目环境下的Redis集群配置,旨在帮助用户快速搭建并投入使用。以下是对Redis集群搭建及相关知识点的详细解释: 1. **Redis集群的基本概念**: - **主从复制(Replication)**...

    Linux下Redis集群 搭建教程

    Redis集群搭建教程 本文档将手把手教你搭建2019年最全面的Redis集群环境。下面将详细介绍搭建过程中的每一个步骤,并提供详细的命令和配置文件修改方法。 一、Redis集群搭建前的准备工作 在开始搭建集群之前,...

    redis集群搭建步骤.docx

    Redis 集群搭建步骤 Redis 集群搭建是 Redis 高可用性的重要组件,通过集群搭建可以实现高可用性和扩展性。在本文档中,我们将介绍 Redis 集群搭建的详细步骤。 1.1 Redis 集群说明 Redis 集群是 Redis 的一种高...

    redis集群搭建手册.docx

    **Redis集群搭建手册** Redis,全称Remote Dictionary Server,是一种高性能的键值对数据库,以其丰富的数据类型、高效的内存管理以及支持持久化等特性,在分布式系统中被广泛应用于缓存、消息中间件以及数据存储等...

    Redis集群搭建教程(含搭建文档和所需软件).zip

    本教程将详细介绍如何搭建一个完整的Redis集群。 **一、Redis集群基础** 1. **数据分片**:Redis Cluster通过数据分片技术将数据分散到多个节点上,每个节点存储一部分数据。它采用CRC16算法计算键的槽位,然后将...

    非常详细的redis集群搭建教程

    - 在搭建Redis集群之前,需要确保系统已经安装了`gcc-c++`依赖包。这一步非常重要,因为Redis的安装需要通过编译源码的方式进行。 - 安装命令:`yum install gcc-c++` - 对于内网环境,可能需要预先下载好`gcc`的...

    Windows Redis 集群搭建工具

    Windows Redis 集群搭建: 1、Redis 3.2.100。 2、redis-trib.rb。 3、rubygems-2.6.11.zip。 4、rubyinstaller-2.2.6.exe。

    Redis集群搭建资料大整合

    在本资料包中,您将找到关于Redis集群搭建的详细步骤和教程。 首先,Redis集群的基本概念是将数据分散到多个节点上,每个节点存储一部分数据。它采用无中心架构,每个节点都可以接收客户端的请求,并通过哈希槽...

    redis集群搭建以及脚本启动

    Redis 集群搭建与脚本启动是分布式缓存系统中的一个重要话题,它涉及到如何配置多个Redis实例以实现数据的高可用性和可扩展性。在本文中,我们将深入探讨Redis集群的基本概念、搭建过程以及使用脚本自动化启动的方法...

    redis集群搭建_动力节点Java学院整理

    Redis集群搭建是一个重要的任务,特别是在大型的分布式系统中,它能提供高可用性和水平扩展性。Redis是一个基于键值对的高性能数据存储服务,而集群则可以将数据分散到多个节点,实现数据冗余和故障转移,从而提高...

    redis的集群搭建与简单使用

    ### Redis集群搭建与简单使用详解 #### 一、概述 Redis 集群是一种通过分区数据来实现高可用性和水平扩展的技术。通过将数据分布在多个 Redis 实例中,集群能够提供更高的性能和更大的数据存储容量。本文档将详细...

    redis集群搭建.docx

    Redis 集群搭建 Redis 集群是Redis数据库的一种分布式实现,它将数据分散存储在多个节点上,提供高可用性和可扩展性。在Redis Cluster中,数据被分割成多个槽(slots),每个节点负责一部分槽,当写入或读取数据时...

    redis集群搭建相关文件

    本压缩包提供的文件是关于Redis集群搭建的相关资料,我们将详细探讨Redis集群的原理、配置以及搭建步骤。 **Redis集群的基本概念** Redis集群是通过分片(Sharding)技术将数据分散到多个节点上,每个节点负责一...

Global site tag (gtag.js) - Google Analytics