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
相关文章
|
14天前
|
存储 NoSQL Redis
redis主从集群与分片集群的区别
主从集群通过主节点处理写操作并向从节点广播读操作,从节点处理读操作并复制主节点数据,优点在于提高读取性能、数据冗余及故障转移。分片集群则将数据分散存储于多节点,根据规则路由请求,优势在于横向扩展能力强,提升读写性能与存储容量,增强系统可用性和容错性。主从适用于简单场景,分片适合大规模高性能需求。
25 5
|
4月前
|
监控 NoSQL Redis
看完这篇就能弄懂Redis的集群的原理了
看完这篇就能弄懂Redis的集群的原理了
153 0
|
3月前
|
NoSQL 关系型数据库 Redis
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
|
4月前
|
存储 NoSQL 算法
深入理解Redis分片Cluster原理
本文深入探讨了Redis Cluster的分片原理,作为Redis官方提供的高可用性和高性能解决方案,Redis Cluster通过数据分片和横向扩展能力,有效降低单个主节点的压力。
深入理解Redis分片Cluster原理
|
4月前
|
缓存 NoSQL 网络协议
【Azure Redis 缓存】Azure Redis Cluster 在增加分片数时失败分析
【Azure Redis 缓存】Azure Redis Cluster 在增加分片数时失败分析
|
4月前
|
缓存 NoSQL Redis
【Azure Redis 缓存】Windows版创建 Redis Cluster 实验 (精简版)
【Azure Redis 缓存】Windows版创建 Redis Cluster 实验 (精简版)
|
4月前
|
NoSQL Redis
Redis——单机迁移cluster集群如何快速迁移
Redis——单机迁移cluster集群如何快速迁移
151 0
|
NoSQL Redis Ruby
|
2月前
|
消息中间件 缓存 NoSQL
Redis 是一个高性能的键值对存储系统,常用于缓存、消息队列和会话管理等场景。
【10月更文挑战第4天】Redis 是一个高性能的键值对存储系统,常用于缓存、消息队列和会话管理等场景。随着数据增长,有时需要将 Redis 数据导出以进行分析、备份或迁移。本文详细介绍几种导出方法:1)使用 Redis 命令与重定向;2)利用 Redis 的 RDB 和 AOF 持久化功能;3)借助第三方工具如 `redis-dump`。每种方法均附有示例代码,帮助你轻松完成数据导出任务。无论数据量大小,总有一款适合你。
78 6
|
1月前
|
缓存 NoSQL 关系型数据库
大厂面试高频:如何解决Redis缓存雪崩、缓存穿透、缓存并发等5大难题
本文详解缓存雪崩、缓存穿透、缓存并发及缓存预热等问题,提供高可用解决方案,帮助你在大厂面试和实际工作中应对这些常见并发场景。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:如何解决Redis缓存雪崩、缓存穿透、缓存并发等5大难题