redis集群 mac安装
创始人
2024-05-03 19:15:02
0

1.安装redis

mac环境用brew install安装

brew install redis

安装好后默认配置启动单点服务

redis-server

注:brew默认程序安装在/usr/local/Cellar目录下

/usr/local/Cellar/redis

默认配置文件在

/usr/local/etc/redis.conf

2.创建配置文件

准备创建6个节点,方便起见,创建6个工作目录,根据准备的端口号创建目录

cd ~
mkdir rediscluster
cd rediscluster
mkdir 8001 8002 8003 8004 8005 8006

先将默认配置文件拷贝到8001中,修改改配置文件

cd 8001
cp /usr/local/etc/redis.conf redis.conf
vi redis.conf

找到配置文件以下关键字并修改

# 端口号,每个目录都不同
port 800X
# 开启集群模式
cluster-enabled yes
#节点超时实际,单位毫秒
cluster-node-timeout 5000
# 每个Redis集群节点/实例需要一个单独的配置文件,同一宿主机系统中不同实例的配置文件名称不能冲突
cluster-config-file nodes-800X.conf
# 启动 AOF
appendonly yes作者:等到的等待
链接:https://juejin.cn/post/6998537296899211278
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

将修改后的配置文件复制到其他几个文件夹中,并修改相应端口号

然后逐一进入各个目录,执行命令:

redis-server redis.conf

3.关联所有节点

所有节点已经启动,但此时他们都是相互独立的单个集群节点。要想实现集群,必须将他们关联起来,随便进入一个节点的redis-cli

执行下面的命令:

redis-cli -p 8001
127.0.0.1:8001> cluster meet 127.0.0.1 8002
OK
127.0.0.1:8001> cluster meet 127.0.0.1 8003
OK
127.0.0.1:8001> cluster meet 127.0.0.1 8004
OK
127.0.0.1:8001> cluster meet 127.0.0.1 8005
OK
127.0.0.1:8001> cluster meet 127.0.0.1 8006
OK

此时所有的节点都关联起来了

4.分配slot

redis Cluster是由16384个slot组成的,那么我们需要将这些槽分散到这其中的3个节点里(3主3从)

执行命令:

redis-cli -p 8001 cluster addslots {0..5461}
redis-cli -p 8003 cluster addslots {5462..10922}
redis-cli -p 8005 cluster addslots {10923..16383}

此时节点已经分配好了。通过一下命令验证

redis-cli -p 8001 cluster nodes2e2765b574da0ed4532b4568ba3d9536496955c4 127.0.0.1:8006@18006 master - 0 1672488398329 5 connected
b3d3bbfe7f6ec8c5c949bf6e60c82147f6cd7f7e 127.0.0.1:8003@18003 master - 0 1672488396315 3 connected 5462-10922
fcb16440bc6156034fe22fc268e5dc21d58af468 127.0.0.1:8004@18004 master - 0 1672488397825 0 connected
e6e8d6884e004d9cc58c3b5599eab456fda43fb0 127.0.0.1:8005@18005 master - 0 1672488398000 4 connected 10923-16383
4856476e14fe48e15418718f98a2aabc89a4bca4 127.0.0.1:8001@18001 myself,master - 0 1672488396000 1 connected 0-5461
74ff13d26dc78a166e24f2ac7de084e842fcdadb 127.0.0.1:8002@18002 master - 0 1672488397321 2 connected

从图中可以看出,8001、8003、8005节点都已经有了slot

5.主从复制

主节点已经有了slot,下一步将主节点与从节点进行关联,形成主从复制关系。

注意:需要从节点的cli命令窗口关联主节点

redis-cli -p 8002 cluster replicate 4856476e14fe48e15418718f98a2aabc89a4bca4
OK
redis-cli -p 8004 cluster replicate b3d3bbfe7f6ec8c5c949bf6e60c82147f6cd7f7e
OK
redis-cli -p 8006 cluster replicate e6e8d6884e004d9cc58c3b5599eab456fda43fb0
OK

后面字符串为相应主节点的id,可以再次执行命令

redis-cli -p 8001 cluster nodes

 可以看到主从已经分配好

6.工具搭建集群

以上命令比较繁琐,可以通过redis提供的小公举redis-trib.rb进行搭建,采用ruby便携,内部也是通过这些命令,本片为了理解redis cluster原理,就不采用这种方式了。具体搭建方法可以自行google。

7.验证集群

redis-cli -p 8001
127.0.0.1:8001> set a b
(error) MOVED 15495 127.0.0.1:8005

看到上面命令报错,是因为用redis-cli连接时没有启动集群模式,需要添加参数-c

redis-cli -c -p 8001
127.0.0.1:8001> set a b
-> Redirected to slot [15495] located at 127.0.0.1:8005
OK
127.0.0.1:8005> get a
"b"
127.0.0.1:8005> keys *
1) "a"
127.0.0.1:8005> set a c
OK
127.0.0.1:8005> get a
"c"
127.0.0.1:8005> set b d
-> Redirected to slot [3300] located at 127.0.0.1:8001
OK
127.0.0.1:8001> get b
"d"

上图可以看到,连接节点8001,添加key value后从定向存至8005执行了set操作。之后的一系列操作为练习命令

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...
苏州离哪个飞机场近(苏州离哪个... 本篇文章极速百科小编给大家谈谈苏州离哪个飞机场近,以及苏州离哪个飞机场近点对应的知识点,希望对各位有...