iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >如何搭建redis集群
  • 745
分享到

如何搭建redis集群

2023-06-25 14:06:32 745人浏览 薄情痞子
摘要

这篇文章主要讲解了“如何搭建redis集群”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何搭建Redis集群”吧!redis集群搭建在开始redis集群搭建之前,我们先简单回顾一下redi

这篇文章主要讲解了“如何搭建redis集群”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何搭建Redis集群”吧!

redis集群搭建

在开始redis集群搭建之前,我们先简单回顾一下redis单机版的搭建过程

  • 下载redis压缩包,然后解压压缩文件;

  • 进入到解压缩后的redis文件目录(此时可以看到Makefile文件),编译redis源文件;

  • 把编译好的redis源文件安装到/usr/local/redis目录下,如果/local目录下没有redis目录,会自动新建redis目录;

  • 进入/usr/local/redis/bin目录,直接./redis-server启动redis(此时为前端启动redis);

  • 将redis启动方式改为后端启动,具体做法:把解压缩的redis文件下的redis.conf文件复制到/usr/local/redis/bin目录下,然后修改该redis.conf文件->daemonize:no 改为daemonize:yse;

  • 在/bin目录下通过./redis-server redis.conf启动redis(此时为后台启动)。

  • 综上redis单机版安装启动完成。

一、Redis Cluster(Redis集群)简介

  • redis是一个开源的key value存储系统,受到了广大互联网公司的青睐。redis3.0版本之前只支持单例模式,在3.0版本及以后才支持集群,我这里用的是redis3.0.0版本;

  • redis集群采用P2P模式,是完全去中心化的,不存在中心节点或者代理节点;

  • redis集群是没有统一的入口的,客户端(client)连接集群的时候连接集群中的任意节点(node)即可,集群内部的节点是相互通信的(PING-PONG机制),每个节点都是一个redis实例;

  • 为了实现集群的高可用,即判断节点是否健康(能否正常使用),redis-cluster有这么一个投票容错机制:如果集群中超过半数的节点投票认为某个节点挂了,那么这个节点就挂了(fail)。这是判断节点是否挂了的方法;

  • 那么如何判断集群是否挂了呢? -> 如果集群中任意一个节点挂了,而且该节点没有从节点(备份节点),那么这个集群就挂了。这是判断集群是否挂了的方法;

  • 那么为什么任意一个节点挂了(没有从节点)这个集群就挂了呢? -> 因为集群内置了16384个slot(哈希槽),并且把所有的物理节点映射到了这16384[0-16383]个slot上,或者说把这些slot均等的分配给了各个节点。当需要在Redis集群存放一个数据(key-value)时,redis会先对这个key进行crc16算法,然后得到一个结果。再把这个结果对16384进行求余,这个余数会对应[0-16383]其中一个槽,进而决定key-value存储到哪个节点中。所以一旦某个节点挂了,该节点对应的slot就无法使用,那么就会导致集群无法正常工作。

  • 综上所述,每个Redis集群理论上最多可以有16384个节点。

二、集群搭建需要的环境

1 Redis集群至少需要3个节点,因为投票容错机制要求超过半数节点认为某个节点挂了该节点才是挂了,所以2个节点无法构成集群。
2.2 要保证集群的高可用,需要每个节点都有从节点,也就是备份节点,所以Redis集群至少需要6台服务器。因为我没有那么多服务器,也启动不了那么多虚拟机,所在这里搭建的是伪分布式集群,即一台服务器虚拟运行6个redis实例,修改端口号为(7001-7006),当然实际生产环境的Redis集群搭建和这里是一样的。
2.3 安装ruby

三、集群搭建具体步骤如下(注意要关闭防火墙)

1 在usr/local目录下新建redis-cluster目录,用于存放集群节点

如何搭建redis集群

2 把redis目录下的bin目录下的所有文件复制到/usr/local/redis-cluster/redis01目录下,不用担心这里没有redis01目录,会自动创建的。操作命令如下(注意当前所在路径):

cp -r redis/bin/ redis-cluster/redis01

如何搭建redis集群

3 删除redis01目录下的快照文件dump.rdb,并且修改该目录下的redis.cnf文件,具体修改两处地方:一是端口号修改为7001,二是开启集群创建模式,打开注释即可。分别如下图所示:
删除dump.rdb文件

如何搭建redis集群

修改端口号为7001,默认是6379

如何搭建redis集群

将cluster-enabled yes 的注释打开

如何搭建redis集群

4 将redis-cluster/redis01文件复制5份到redis-cluster目录下(redis02-redis06),创建6个redis实例,模拟Redis集群的6个节点。然后将其余5个文件下的redis.conf里面的端口号分别修改为7002-7006。分别如下图所示:
创建redis02-06目录

如何搭建redis集群

分别修改redis.conf文件端口号为7002-7006

如何搭建redis集群

5 接着启动所有redis节点,由于一个一个启动太麻烦了,所以在这里创建一个批量启动redis节点的脚本文件,命令为start-all.sh,文件内容如下:

cd redis01./redis-server redis.confcd ..cd redis02./redis-server redis.confcd ..cd redis03./redis-server redis.confcd ..cd redis04./redis-server redis.confcd ..cd redis05./redis-server redis.confcd ..cd redis06./redis-server redis.confcd ..

6 创建好启动脚本文件之后,需要修改该脚本的权限,使之能够执行,指令如下:

chmod +x start-all.sh

如何搭建redis集群

7 执行start-all.sh脚本,启动6个redis节点

如何搭建redis集群

3.8 ok,至此6个redis节点启动成功,接下来正式开启搭建集群,以上都是准备条件。大家不要觉得图片多看起来冗长所以觉得麻烦,其实以上步骤也就一句话的事情:创建6个redis实例(6个节点)并启动。
要搭建集群的话,需要使用一个工具(脚本文件),这个工具在redis解压文件的源代码里。因为这个工具是一个ruby脚本文件,所以这个工具的运行需要ruby的运行环境,就相当于java语言的运行需要在JVM上。所以需要安装ruby,指令如下:

yum install ruby

然后需要把ruby相关的包安装到服务器,我这里用的是redis-3.0.0.gem,大家需要注意的是:redis的版本和ruby包的版本最好保持一致。
将Ruby包安装到服务器:需要先下载再安装,如图

如何搭建redis集群

安装命令如下:

gem install redis-3.0.0.gem

如何搭建redis集群

9 上一步中已经把ruby工具所需要的运行环境和ruby包安装好了,接下来需要把这个ruby脚本工具复制到usr/local/redis-cluster目录下。那么这个ruby脚本工具在哪里呢?之前提到过,在redis解压文件的源代码里,即redis/src目录下的redis-trib.rb文件。

如何搭建redis集群
如何搭建redis集群

10 将该ruby工具(redis-trib.rb)复制到redis-cluster目录下,指令如下:

cp redis-trib.rb /usr/local/redis-cluster

然后使用该脚本文件搭建集群,指令如下:

./redis-trib.rb create --replicas 1 47.106.219.251:7001 47.106.219.251:7002 47.106.219.251:7003 47.106.219.251:7004 47.106.219.251:7005 47.106.219.251:700

注意:此处大家应该根据自己的服务器ip输入对应的ip地址!

如何搭建redis集群

中途有个地方需要手动输入yes即可

如何搭建redis集群

至此,Redi集群搭建成功!大家注意最后一段文字,显示了每个节点所分配的slots(哈希槽),这里总共6个节点,其中3个是从节点,所以3个主节点分别映射了0-5460、5461-10922、10933-16383solts。

11 最后连接集群节点,连接任意一个即可:

redis01/redis-cli -p 7001 -c

注意:一定要加上-c,不然节点之间是无法自动跳转的!如下图可以看到,存储的数据(key-value)是均匀分配到不同的节点的:

如何搭建redis集群

感谢各位的阅读,以上就是“如何搭建redis集群”的内容了,经过本文的学习后,相信大家对如何搭建redis集群这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: 如何搭建redis集群

本文链接: https://www.lsjlt.com/news/305488.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何搭建redis集群
    这篇文章主要讲解了“如何搭建redis集群”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何搭建redis集群”吧!redis集群搭建在开始redis集群搭建之前,我们先简单回顾一下redi...
    99+
    2023-06-25
  • redis集群如何搭建
    这篇文章给大家分享的是有关redis集群如何搭建的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。介绍安装环境与版本用两台虚拟机模拟6个节点,一台机器3个节点,创建出3 master...
    99+
    2022-10-18
  • redis集群搭建
    Redis 5.0之后版本的高可用集群搭建 Redis系统介绍: Redis的基础介绍与安装使用步骤:https://www.jianshu.com/p/2a23257af57b Redis的基础数据结构与使用:https...
    99+
    2019-03-23
    redis集群搭建
  • docker如何搭建redis集群
    要搭建Redis集群,可以使用Docker来进行部署。下面是一种常见的方法:1. 创建一个文件夹,在文件夹中创建一个名为`docke...
    99+
    2023-08-23
    docker redis
  • Windows下如何搭建Redis集群
    这篇文章给大家分享的是有关Windows下如何搭建Redis集群的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Redis集群:如果部署到多台电脑,就跟普通的集群一样;因为Redis是单线程处理的,多核CPU也只能...
    99+
    2023-06-29
  • 如何搭建Redis集群环境
    本篇文章为大家展示了如何搭建Redis集群环境,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1 Redis集群环境搭建方便起见,这里集群环境的所有节点全部位于同一个...
    99+
    2022-10-18
  • Docker-Compose如何搭建Redis集群
    本篇内容介绍了“Docker-Compose如何搭建Redis集群”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 集群配置3主+3从由于...
    99+
    2023-07-05
  • Redis 6.X Cluster集群如何搭建
    这篇文章将为大家详细讲解有关Redis 6.X Cluster集群如何搭建,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 Part1Redis 6.X Cluster 集群搭建1下载解压可直接到...
    99+
    2023-06-15
  • docker怎么搭建redis集群
    要搭建Redis集群,可以使用Docker来简化部署过程。下面是一些搭建Redis集群的步骤: 首先,确保已经安装了Docker...
    99+
    2023-10-26
    docker redis
  • Redis Cluster集群部署搭建
    在Oracle的路上走了许多年,换换感觉,尝试一下新的知识,也是一个不错的感觉。Redis,一个超轻量化的内存数据库,只做一小块数据库功能实现,却非常优秀的一个产品。今天,就分享一下安装Redis集群的过程...
    99+
    2022-10-18
  • Docker Redis 5.0 集群(cluster)搭建
    一、准备工具 安装docker(来自官网) (1) 安装所需的软件包 $ sudo yum install -y yum-utils device-mapper-persistent-data lvm2 (2) 使用以下命令来设置稳定...
    99+
    2015-01-06
    Docker Redis 5.0 集群(cluster)搭建
  • redis搭建集群的方法
    这篇文章给大家分享的是有关redis搭建集群的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。redis集群的搭建集群搭建:Redis集群至少需要3个节点第一步:创建一个文件夹...
    99+
    2022-10-18
  • redis集群搭建的方法
    这篇文章主要介绍redis集群搭建的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!redis集群搭建在介绍正式内容之前,首先我们来介绍一下redis单机版的搭建步骤是怎样的。下载...
    99+
    2022-10-18
  • redis 集群搭建以及redisli
    实现3主3从的集群 虚拟机单机ip:192.168.40.128 集群基本搭建 简单下载 通过 wget http://download.redis.io/releases/redis-4.0.10.tar.gz 解压缩 tar z...
    99+
    2023-01-31
    集群 redis redisli
  • 搭建Redis集群的方法
    这篇文章主要讲解了“搭建Redis集群的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“搭建Redis集群的方法”吧!Redis集群是一个由多个主从节点群组成的分布式服务集群,它具有复制、...
    99+
    2023-06-27
  • Redis集群(cluster模式)搭建
    目录 1、什么是集群 2、为什么使用 3、集群连接 4、redis cluster 如何分配这六个节点 5、集群搭建: 1、什么是集群 Redis 集群(包括很多小集群)实现了对Redis的水平扩容,即启动N个redis节点,将整个数...
    99+
    2023-09-05
    redis 数据库 java linux
  • NoSQL之redis(介绍+集群搭建)
    一、NoSQL的介绍 什么是NoSQLNoSQL,叫非关系型数据库,它的全名Not only sql。它不能替代关系型数据库,只能作为关系型数据库的一个良好补充。 NoSQL的分类:键值对(K-V)存储数据...
    99+
    2022-10-18
  • 怎么搭建Redis集群环境
    怎么搭建Redis集群环境,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Redis集群简介Redis集群(Redis Cluster) 是...
    99+
    2022-10-18
  • Redis集群环境搭建(实验)
    环境信息:    集群中至少有奇数个主节点,所以至少三个主节点,    每个节点至少一个备份节点,所以共6个节点(master和slave各3个)    节点信息: (我这里准备了3台主机,每台主机运行一个...
    99+
    2022-10-18
  • 5分钟搭建redis集群(redis5.0.5)
    环境:centos 7 1:下载并安装redis $ wget http://download.redis.io/releases/redis-5.0.5.tar.gz $ ta...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作