文档章节

Redis 集群搭建

Raymond
 Raymond
发布于 2017/08/04 15:23
字数 540
阅读 55
收藏 0

「深度学习福利」大神带你进阶工程师,立即查看>>>

        本篇主要介绍关于Redis集群的搭建。环境是linux机版本为14.04的ubuntu。

        那么 Redis 集群需要几个实例呢?为什么不说是机器?偷懒,在一台机器上模拟搭建集群。在一台机器上开启6个 Redis 实例,每个实例各自有自己的配置,这样就相当于6台机器啦。为什么是6台机器?了解过选举模式的大概都知道, 一般要2n+1个服务, 即3,5,7。。,便于选举 leader。

        Redis集群6台实例中,有3台 Master 和3台 Slave 实例。

        接下来是搭建的步骤。

第一步,为6个实例创建配置目录

   

这里创建了800{1,2,3}和900{1,2,3}  6个文件夹,作为实例的配置目录。

可以使用命令快速创建

      mkdir 800{1,2,3}     

      mkdir 900{1,2,3}

第二步,修改6个实例的配置文件

    

    cluster-enabled yes

    cluster-config-file nodes.conf #这个文件实例会自己去创建

    cluster-require-full-coverage no #当集群表示当负责一个插槽的主库下线且没有相应的从库进行故障恢复时,集群仍然可用。否则 表示当负责一个插槽的主库下线且没有相应的从库进行故障恢复时,集群不可用

    port 8001 #实例的访问端口

    daemonize yes#后台运行

 第三步,Redis集群的操作通过Ruby脚本来完成,因此我们需要安装Ruby相关的RPM包,以及Redis和Ruby的接口包

     yum install ruby

     gem install redis

 

第四步,启动实例并且创建集群

    

 

使用 redis-trib.rb命令来创建集群

    redis-trib.rb create --replicas 1  ip1:port1 ip2:port2 ip3:port3 .....

在创建集群命令中 --replicas 1,1其实代表的是一个比例,就是主节点数/从节点数的比例。按照命令中IP:PORT的顺序,先是3个主节点,然后是3个从节点。        

第五步,客户端连接集群

    使用命令 redis-cli -c -h 127.0.0.1 -p 8001 连接一台实例,并验证

    

通过机器的 hash 值可以看出 master 和 slave 的关系。

master 8001 -> slave 9001 

master 8002 -> slave 9002

master 8003 -> slave 9003

 

 

Raymond
粉丝 0
博文 11
码字总数 3228
作品 0
浦东
程序员
私信 提问
加载中
请先登录后再评论。
用vertx实现高吞吐量的站点计数器

工具:vertx,redis,mongodb,log4j 源代码地址:https://github.com/jianglibo/visitrank 先看架构图: 如果你不熟悉vertx,请先google一下。我这里将vertx当作一个容器,上面所有的圆圈要...

jianglibo
2014/04/03
4.3K
3
集群存储系统--YFS

YFS集群存储系统由多个元数据服务器(MDS)、多个块数据服务器(CDS)和多个客户端(client)互联组成集群; 数据被分成64M固定大小的数据块(Chunk),每个数据块在CDS本地以常规文件的形式...

匿名
2013/02/19
1.8K
0
工作流管理系统--Pegasus WMS

Pegasus (飞马座)工作流管理系统包括一套技术标准工作流程应用程序中执行帮助许多不同的环境中,包括桌面、校园集群、网格、云。它弥补了科学领域和执行环境通过自 动映射到分布式资源的高层工...

匿名
2013/02/24
5.5K
0
PHP框架--XiunoPHP

XiunoPHP 是一款面向高负载应用的 PHP 开发框架,PHPer 通过它可以快速的简单的开发出高负载项目。 XiunoPHP 前身名为 Xiuno Framework,更名后版本号从 v1.0 开始计算。已经经过了多年的实际...

匿名
2013/03/20
2.5K
0
Redis 分片实现--Redis Shard

redis-shard 是 Redis 分区的 Python API ,基于对 key 和 key tag 进行 CRC32 checksum 计算,可参考文章 http://antirez.com/post/redis-presharding.html . 该项目由知乎网开发。 使用限制...

匿名
2012/10/24
5.6K
0

没有更多内容

加载失败,请刷新页面

加载更多

信息系统项目管理师(15)

软件需求分析的目的是对各种需求信息进行分析并抽象描述,为目标系统建立一个概念模型。通过需求分析,可以检测和解决需求之间的冲突;发现系统的边界;并详细描述出系统的需求。 访问控制授...

LitStone
9分钟前
0
0
按属性值对对象数组进行排序 - Sorting an array of objects by property values

问题: I've got the following objects using AJAX and stored them in an array: 我使用AJAX获得了以下对象并将它们存储在数组中: var homes = [ { "h_id": "3", "ci......

法国红酒甜
16分钟前
0
0
spring-boot集成redis

集成的客户端 1)lettuce方式集成 <dependency><groupId>org.apache.commons</groupId><artifactId>commons-pool2</artifactId></dependency><dependency><groupId>io.lettuce</gro......

简到珍
50分钟前
12
0
Java 8中Lambda表达式默认方法的模板方法模式,你够了解么?

为了以更简单的术语描述模板方法,考虑这个场景:假设在一个工作流系统中,为了完成任务,有4个任务必须以给定的执行顺序执行。在这4个任务中,不同工作流系统的实现可以根据自身情况自定义任...

北柠Java
50分钟前
3
0
阅文集团上半年总收入32.6亿元 同比增长9.7%

  腾讯科技讯,8 月 11 日消息,阅文集团(0772.HK)公布 2020 年中期业绩。报告显示,阅文集团 2020 上半年实现总收入 32.6 亿元,同比增长 9.7%;毛利润为 17.3 亿元,同比增长 6.8%。 ...

gfhtw
53分钟前
14
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部