Redis cluster

526 阅读6分钟

大佬文章链接,必看,集群搭建,扩容等基本操作都有

Redis集群原理详解_张维鹏的博客-CSDN博客_redis集群工作原理(hash槽迁移第二步有误,见评论区)

2W 字详解 Redis 集群环境搭建实践 - 掘金 (juejin.cn)

集群搭建

Windows

(44条消息) redis集群环境搭建-(redis-cluster)(windows版本)_zhangbeizhen18的博客-CSDN博客_redis集群下载
(42条消息) windows下部署Redis集群(傻瓜版)_菊花超人的博客-CSDN博客_windows部署redis集群​​​​​
ruby相关用这个(44条消息) redis集群环境搭建-(redis-cluster)(windows版本)_zhangbeizhen18的博客-CSDN博客_redis集群下载

资源下载

(44条消息) RubyRedisCluster-Java文档类资源-CSDN文库

railsinstaller好像也要安装,应该是对应3.安装Ruby环境(时间太久忘记了)

linux

2W 字详解 Redis 集群环境搭建实践 - 掘金 (juejin.cn)

客户端连接

连接顺序

优先链接从节点可避免一些问题,如用lettuce直接连slave即可。

(44条消息) 使用lettuce和redisTemplate操作redis cluster踩坑日记_雀巢冰爽茶的博客-CSDN博客

lettuce客户端

(44条消息) Redis高级客户端Lettuce详解_huayang183的博客-CSDN博客_lettuce

详细见高可用和分片章节

SpringBoot客户端(2.*)

添加配置文件即可

spring.redis.database=0
spring.redis.jedis.pool.max-active=8
spring.redis.jedis.pool.max-wait=-1
spring.redis.jedis.pool.max-idle=8
spring.redis.jedis.pool.min-idle=0
spring.redis.timeout=10000
spring.redis.cluster.nodes=127.0.0.1:6380,127.0.0.1:6381,127.0.0.1:6382,127.0.0.1:6383,127.0.0.1:6384,127.0.0.1:6385

命令集

(46条消息) redis cluster(2)- redis集群常用命令_hguisu的博客-CSDN博客_redis查看集群状态命令

(46条消息) Redis集群命令解析与应用_a18792721831的博客-CSDN博客

集群迁移

两种思路

第一种

使用添加节点的命令添加从节点,这样就可以在添加新节点时指定它们的主节点,建立主从对应关系,然后将旧集群节点删除。

(46条消息) Redis集群指定主从关系及动态增删节点_guotianqing的博客-CSDN博客_redis集群指定主节点
(46条消息) redis 集群在线迁移_weixin_34217711的博客-CSDN博客

第二种

直接移rdb文件

(46条消息) redis cluster数据迁移_y_zilong的博客-CSDN博客_redis集群数据迁移

集群原理(及相关操作)

大佬文章链接,包含许多相关操作,如分配主从,hash槽。

(44条消息) Redis集群原理详解_张维鹏的博客-CSDN博客_redis集群工作原理

(44条消息) redis cluster(5)- redis集群原理_hguisu的博客-CSDN博客_rediscluster集群原理

(44条消息) 全面剖析Redis Cluster原理和应用_cdai的博客-CSDN博客_rediscluster原理

相关问题

Windows环境下构建集群

Invalid argument during startup: unknown conf file parameter : cluster-enabled

配置文件行前一定不能有空格。

ruby redis-trib.rb create --replicas 1 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 127.0.0.1:6385 127.0.0.1:6386

注意ruby,有的前边漏了这个导致执行失败,打开了文件。

(42条消息) WARNING: redis-trib.rb is not longer available! You should use redis-cli instead._多写文章能生发的博客-CSDN博客

github地址

发布 ·microsoftarchive/redis (github.com)

对应3.2.1版本ruby

fork下来直接找到对应版本搜索

Unrecognized option or bad number of args for: '--cluster'

Unrecognized option or bad number of args for: '--cluster'_码上敲享录 (yayihouse.com)

[ERR] Node 127.0.0.1:6381 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.

​​​​​​(43条消息) [ERR] Node 127.0.0.1:6381 is not empty. Either the node already knows other nodes (check with CLUSTE_a656678879的博客-CSDN博客​​​​​

127.0.0.1:6382> get new
(error) CLUSTERDOWN Hash slot not served

Redis集群Hash槽分配异常 CLUSTERDOWN Hash slot not served的解决方式 - 云+社区 - 腾讯云 (tencent.com)

redis集群报错:(error) CLUSTERDOWN Hash slot not served - 韩国庆 - 博客园 (cnblogs.com)

但windows版版本问题导致Unrecognized option or bad number of args for: '--cluster'

Waiting for the cluster to join..........................................................................................................................................................................................................................................................................................................................................................

Waiting for the cluster to join........._码上敲享录 (yayihouse.com)

还有说开放集群总线端口的,我的没被占用。

如果还不行并且join后边....也不增加,按一下回车试试,可能是卡了(我是这样)。

如果还不行

(43条消息) Redis集群的关闭、启动、重启等相关指令_justry_deng的博客-CSDN博客_redis集群重启

关了去找别的方法。

(error) MOVED 5798 127.0.0.1:7001

这个是对的 redis-cli.exe -c -p 6384 -h 127.0.0.1

(43条消息) (error) MOVED 原因和解决方案_hai0808的博客-CSDN博客_(error) moved redis