redis之(十七)自己实现redis的cluster集群环境的搭建

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: [一]创建不同节点的配置文件和目录。并将配置文件中的port,cluster-enable,daemonize项做修改。 --->port:修改成redis实例对应的端口号 --->cluster-config-file:都写“yes”值,说明当前节点支持cluster机群。
[一]创建不同节点的配置文件和目录。并将配置文件中的port,cluster-enable,daemonize项做修改。
--->port:修改成redis实例对应的端口号
--->cluster-config-file:都写“yes”值,说明当前节点支持cluster机群。
--->daemonize:都写“yes”值,是否以后台daemon方式运行 ,为了查看输出,不让后台模式运行,修改成“no”
--->appendonly :都写“yes”值,是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率。
--->cluster-config-file :都写“nodes.conf”机群会将当前节点记录的进群状态持久化地存储在指定文件中,这个文件默认为当前工作目录下的nodes.conf。每个节点对应的文件不同,否则会造成启动失败,所以启动节点时要注意为每个节点使用不同的工作目录。活着通过在启动时,通过参数修改成不同的名字
 
[二]启动3主3从的集群。会在启动时候输出自己的运行id
 
[三]随便链接上其中一个redis服务,检测redis的cluster集群启动成功
[四]现在每个节点是完全独立的,如果需要将它们加入同一个集群则需要借助,redis源代码中提供一个辅助工具redis-trib.rb可以非常方便地完成这一任务,因为redis-trib.rb是用ruby语言编写,所以运行前需要在服务器上安装ruby程序
--->去该网站下载ruby安装包,http://www.ruby-lang.org/en/downloads/
--->解压压缩包
--->安装现在配置和编译的源代码如下:
$ ./configure
$ make

--->最后安装Ruby解释器如下:

$ su -l root # become a root user
$ make install
$ exit # become the original user again
---> 检验是否安装成功
[五]redis-trib.rb依赖与gem包redis,可以执行gem install redis -v 3.2.0进行安装,我的redis版本是3.2.0。并使用redis-trib.rb来初始化集群
--->下载地址:https://rubygems.org/gems/redis/versions/3.2.0
--->利用root用户安装,执行命令:gem install redis -v 3.2.0
[六]安装完ruby的程序包和gem包,利用redis-trib.rb建立redis的集群关系

命令的意义如下:

  • 给定 redis-trib.rb 程序的命令是 create , 这表示我们希望创建一个新的集群。
  • 选项 --replicas 1 表示我们希望为集群中的每个主节点创建一个从节点。
  • 之后跟着的其他参数则是实例的地址列表, 我们希望程序使用这些地址所指示的实例来创建新集群。

简单来说, 以上命令的意思就是让 redis-trib 程序创建一个包含三个主节点和三个从节点的集群。

如果配置都OK,会打印如下信息,然后你觉得OK,没问题后,就可以输入yes

 
[七]连接到集群中的某一台机器获得整个集群的信息,查看集群中插槽的分配情况
 
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
打赏
0
0
0
0
11
分享
相关文章
Redis 逻辑数据库与集群模式详解
Redis 是高性能内存键值数据库,广泛用于缓存与实时数据处理。本文深入解析 Redis 逻辑数据库与集群模式:逻辑数据库提供16个独立存储空间,适合小规模隔离;集群模式通过分布式架构支持高并发和大数据量,但仅支持 database 0。文章对比两者特性,讲解配置与实践注意事项,并探讨持久化及性能优化策略,助你根据需求选择最佳方案。
48 5
阿里面试:Redis 为啥那么快?怎么实现的100W并发?说出了6大架构,面试官跪地: 纯内存 + 尖端结构 + 无锁架构 + EDA架构 + 异步日志 + 集群架构
阿里面试:Redis 为啥那么快?怎么实现的100W并发?说出了6大架构,面试官跪地: 纯内存 + 尖端结构 + 无锁架构 + EDA架构 + 异步日志 + 集群架构
阿里面试:Redis 为啥那么快?怎么实现的100W并发?说出了6大架构,面试官跪地: 纯内存 + 尖端结构 +  无锁架构 +  EDA架构  + 异步日志 + 集群架构
Redis分片集群中数据是怎么存储和读取的 ?
Redis集群采用的算法是哈希槽分区算法。Redis集群中有16384个哈希槽(槽的范围是 0 -16383,哈希槽),将不同的哈希槽分布在不同的Redis节点上面进行管理,也就是说每个Redis节点只负责一部分的哈希槽。在对数据进行操作的时候,集群会对使用CRC16算法对key进行计算并对16384取模(slot = CRC16(key)%16383),得到的结果就是 Key-Value 所放入的槽,通过这个值,去找到对应的槽所对应的Redis节点,然后直接到这个对应的节点上进行存取操作
Redis原理—3.复制、哨兵和集群
详细介绍了Redis的复制原理、哨兵原理和集群原理。
看完这篇就能弄懂Redis的集群的原理了
看完这篇就能弄懂Redis的集群的原理了
281 0
|
4月前
|
redis主从集群与分片集群的区别
主从集群通过主节点处理写操作并向从节点广播读操作,从节点处理读操作并复制主节点数据,优点在于提高读取性能、数据冗余及故障转移。分片集群则将数据分散存储于多节点,根据规则路由请求,优势在于横向扩展能力强,提升读写性能与存储容量,增强系统可用性和容错性。主从适用于简单场景,分片适合大规模高性能需求。
134 5
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
【Azure Redis 缓存】Azure Redis Cluster 在增加分片数时失败分析
【Azure Redis 缓存】Azure Redis Cluster 在增加分片数时失败分析
【Azure Redis 缓存】Windows版创建 Redis Cluster 实验 (精简版)
【Azure Redis 缓存】Windows版创建 Redis Cluster 实验 (精简版)
|
8月前
|
Redis——单机迁移cluster集群如何快速迁移
Redis——单机迁移cluster集群如何快速迁移
221 0

热门文章

最新文章

下一篇
oss创建bucket