mac搭建redis集群

一、安装redis

1. 安装

brew install redis

2. 启动

redis-server:启动 redis 服务器,默认端口 6379

redis-cli:启动 redis 客户端

配置文件目录

cd /usr/local/etc

二、配置集群

在配置文件目录(/usr/local/etc)下进行操作

1. 创建虚拟节点目录

在 /usr/local/etc 下创建 redisCluster 目录,并在 redisCluster 目录下创建目录:7000、7001、7002、7003、7004、7005。

mkdir redisCluster

cd redisCluster

mkdir 7000 7001 7002 7003 7004 7005

2.修改配置文件

把redis的配置文件复制到每个文件夹下,并修改文件。可以先复制一份修改好参数再复制其他的,只要修改port就可以了,参数修改如下

# 端口号,每个目录都不同

port 7000

# 开启集群模式

cluster-enabled yes

#节点超时实际,单位毫秒

cluster-node-timeout 5000

#集群内部配置文件(默认为 nodes-6379.conf)

cluster-config-file nodes-7000.conf

# 启动 AOF

appendonly yes

# 默认是no,改成 yes,意思是是否要后台启动。

daemonize yes

复制配置文件

cp ../redis.conf.default ./7000

vim ./7000/redis.conf.default

mv ./7000/redis.conf.default ./7000/7000.conf

记得修改配置文件中的port参数和文件夹一致

3.启动redis并验证各节点运行

redis-server /usr/local/etc/redisCluster/7000/7000.conf

ps -ef|grep redis

4. 关联所有节点

redis-cli -p 7000
cluster meet 127.0.0.1 7001

 

5.分配槽位

Cluster 默认会对 key 值使用 crc32 算法进行 hash 得到一个整数值,然后用这个整数值对 16384 进行取模来得到具体槽位

在分配槽位时,相当于把对应的槽位挂载在指定的节点上, key计算出来的槽位,然后跟据槽位找到对应的节点,将key存储在这个节点上.

若set sgfoot www.sgfoot.com, 集群计算出对应的槽位是: 6498, 而6498槽位被挂载在127.0.0.1:6392节点上, 不归自己管, 所以会返回一个信息-> Redirected to slot [6498] located at 127.0.0.1:6392 让你去连接6392节点上查看,你刚才存储的值.

查看帮助: cluster help

槽位分配错误使用:cluster reset

分配槽位, 注意只能使用redis-cli方式, 槽位之间是两个小点

如果报(error) ERR Slot 5462 is already busy 错误的话, 先查看cluster nodes, 排查问题, 实在不行,使用cluster reset重置操作. 重新握手操作.然后再分配槽位.

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

redis-cli -p 7000 cluster addslots {0..5461}
redis-cli -p 7001 cluster addslots {5462..10922}
redis-cli -p 7002 cluster addslots {10923..16383}

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

redis-cli -p 7000 cluster nodes

前面的一串 16 进制字符串,其实就是后面对应进程节点的NodeId

主节点已经有了 slot,那么最后一步就是将主节点和从节点进行关联,形成主从复制的关系。 命令如下:

注意:需要在从节点的 cli 命令窗口关联主节点。不能反着来。

redis-cli -p 7003 cluster replicate 7000的NodeID
redis-cli -p 7004 cluster replicate 7001的NodeID
redis-cli -p 7005 cluster replicate 7002的NodeID

这个NodeID其实就是执行 redis-cli -p 7000 cluster nodes

 查看结果:

redis-cli -p 7000 cluster nodes

 

6. 测试使用

这时如果继续使用之前的redis-cli -p 7000命令会报错:

应使用集群模式:

redis-cli -c -p 7000

 

 其他redis连接查看:

至此完成。 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值