redis集群 mac安装

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 nodes

2e2765b574da0ed4532b4568ba3d9536496955c4 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操作。之后的一系列操作为练习命令

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值