Redis6.2/5.0 集群两种快速搭建方式 | Redis集群的梦游模式/事务/槽位转移 | cluster搭建避坑指南 ,带你起飞

本文详细介绍了如何使用redis-cli的create-cluster命令和手动配置方式搭建Redis集群,包括集群常识、创建步骤、客户端使用、槽位转移操作等。通过两种方法,帮助读者理解Redis集群的工作原理和管理技巧,例如使用Hashtag避免梦游模式以支持事务。
摘要由CSDN通过智能技术生成

一、集群常识

1.redis在3.0之前是集群,仅支持单实例的,3.0以后开始支持集群。

2.3.0的集群命令也不是那么亲和,需要用ruby编写的脚本(而且需要登录redis客户端操作),启动、增删节点、移动槽位等。redis-5.0以后,可以使用比较亲和的redis-cli --cluster 不需要登录客户端,直接可以进行各种操作(前提:集群模式已开启)。

3.redis集群是没有统一的入口的,不存在中心节点或者代理节点,通过#redis-cli -c - h -p  登录任一客户端后,集群客户端各节点数据可以互通,(默认会开启梦游模式你要的数据,我没有,但是我可以告诉你哪台机器有并且给你跳转到那台机器,并返回你要的数据)。

4.对于事务的支持,仅支持被Hashtag统一前缀{}后的key(这些统一前缀的key会落到同一组主从机器)上的数据,才可以支持事务,如果是普通key散列到不同的主从上是不支持事务的。

5.redis集群为了达到高可用,会考虑到宕机,那么里面有个投票机制,需要一半以上的投票认为某台master宕机了(哨兵也是这个机制),然后推举新的slave为master。2台机器,投票方式只有1:1和0:2(对于过半这条要求,2台有些牵强),所以,集群的搭建至少是3台master。又因为集群要求1个master至少有一个小弟slave,那么一个集群至少需要6台redis实例。

6.Redis 集群引入了槽位的概念,整个集群共有哈希槽位16384个。假如集群中有三对主从,也就是三个节点,称作A节点、B节点、C节点,那么默认槽位是平均分配的。

节点 A 包含 0 到 5500号哈希槽.
节点 B 包含5501 到 11000 号哈希槽.
节点 C 包含11001 到 16384号哈希槽.

槽位的移动,不会造成数据丢失,但是,如果某个节点的主从全部宕机,那么整个节点所对应槽位中的数据将会暂时全部丢失(不可访问),直到节点被恢复正常。

好了,了解了这些知识点后,做到心中不慌,下面跟随我一起愉快的玩耍吧,开启梦游之旅………

意犹未尽,如需了解更多,点击redis英文官网redis中文官网,进入后点击文档进行查看。 

二、准备工作

1.redis的安装部署

点击CentOS7.9+Redis6.2.6CentOS6.5+Redis5.0.4协助部署,这两个版本均可,不影响步骤。

2.从熟悉redis解压目录结构到README

#cd /usr/src/redis-5.0.4/ && ls  进入redis解压目录,并查看目录列表
#cd utils && ls  查看utils下的目录结构
#cd  create-cluster && ls   查看集群命令所在目录的结构

#vim README   学会看这个文件,你就基本学会了走路,它很重要!

 创建步骤:

1.编辑绿色的create-cluster可执行文件,修改里的端口,默认是30000,本案例暂不修改。

2.使用./create-cluster start命令,自动依次启动30001-30006,六个redis实例(默认就好)

3.使用./create-cluster create命令,自动依次创建一个redis集群(把6个实例组合一起)

4.此刻集群已经创建并准备完毕,可以发现rdb和aof文件已经在当前命令执行目录自动创建

关闭步骤:

1. 使用./create-cluster stop命令后,所有实例会自动关闭,如需重启集群,使用./create-cluster start即可 (英文帮助信息也挺苦口婆心的,如果你改变主意的话,O(∩_∩)O哈哈~

2./create-cluster clean 会自动移除所有的aof日志,返还你一个纯净的运行环境

英文的一看就懵,给你大白话翻译一下,是不是很prefect,还是看不懂,表要紧,go on !

最后意犹未尽,可以返还此处,回味一下哦……

3.跟随README的旨意,看一下create-cluster脚本

#vim create-cluster  查看这个绿色的可执行文件(它也是操作集群的一个命令)

PORT=30000    集群的默认端口,这里可以不用修改
TIMEOUT=2000  超时时间,超时后集群要搞些事情,比如选举新的master
NODES=6  集群最少要求,要配置6个节点(默认即可)
REPLICAS=为集群中的每个主节点创建1个从节点。

在NODES节点是6的前提下:

如果REPLICAS=1 配置为1,意味着一个主只跟1个从(一套主从两台机器),这个集群中会有3套主从。

如果REPLICAS=2 配置为2,意味着一个主只跟2个从(一套主从三台机器),这个集群中会有2套主从。明显,集群不建议这么做,一个集群被要求最少要有3个master。

以上配置文件看一下就可以,学习节点,可以不用修改 

好了,跟随README的旨意,我们继续吧!没想象的那么难 ^_^ 

三、方法一:用集群命令create-cluster create 开启集群(系统自动指定redis实例)

1.启动集群create-cluster start

#pwd  查看当前目录的位置
/usr/src/redis-5.0.4/utils/create-cluster  
#ls
create-cluster  README
#./create-cluster start   使用当前目录的命令,创建并启动集群, 看到6个redis实例跑起来了。
Starting 30001
St

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值