分享Mac本地搭建Redis Cluster集群

前言

上篇主要介绍了通过Java代码连接redis客户端集群的几种模式,这篇主要介绍本地去搭建redis的集群环境,并且通过连接客户端实现缓存在集群节点上进行分布缓存;

本地安装redis

复制代码
brew install redis

我本地安装的是redis 5.0.4版本

配置集群conf文件

我在本地(/usr/local/redis/etc)目录下创建了r1-r6目录

bash 复制代码
//创建集群文件目录
mkdir -p /usr/local/redis/etc/r1
mkdir -p /usr/local/redis/etc/r2
mkdir -p /usr/local/redis/etc/r3
mkdir -p /usr/local/redis/etc/r4
mkdir -p /usr/local/redis/etc/r5
mkdir -p /usr/local/redis/etc/r6

并且在6个文件夹创建redis.conf文件,端口为7000-7005

创建conf配置文件

这里最好是copy源代码里面conf文件,要不然可能会出现文件格式不对,启动redis-server的时候,配置文件无法被启动

bash 复制代码
cp redis.conf /app/redis/etc/r1/redis.conf

然后进行修改,拿7000为例,大概就需要配置这几个参数就行;

bash 复制代码
# 绑定ip
bind 127.0.0.1
# 不开启保护模式
protected-mode no
# 不同实例配置不同的监听端口
port 7000
# 开启后台运行模式
daemonize yes
# 不同实例配置不同的rdb静态化文件
dbfilename dump_r1.rdb
# 不同实例配置不同的运行路径
dir /usr/local/redis/etc/r1/
# 设置redis允许使用的最大内存,单位是byte
maxmemory 241172480
# 开启aof静态化模式
appendonly yes
# 设置aof文件名
appendfilename "appendonly.aof"
# 开启cluster集群模式
cluster-enabled yes
# 不同实例设置不同的节点配置文件
cluster-config-file /usr/local/redis/etc/r1/nodes.conf
# 设置节点超时时间
cluster-node-timeout 15000

启动集群配置

然后切换到/usr/local/redis/bin目录下执行

bash 复制代码
redis-server /usr/local/redis/etc/r1/redis.conf
redis-server /usr/local/redis/etc/r2/redis.conf
redis-server /usr/local/redis/etc/r3/redis.conf
redis-server /usr/local/redis/etc/r4/redis.conf
redis-server /usr/local/redis/etc/r5/redis.conf
redis-server /usr/local/redis/etc/r6/redis.conf

启动了6个节点

关联所有节点

分配节点槽位

关于槽位分配我也是进行查资料得知,redis Cluster槽位是由16384个slot组成的,所以分配的时候要在这个区间进行分配;

yaml 复制代码
redis-cli -p 7000 cluster addslots {0..5461}
redis-cli -p 7001 cluster addslots {5462..10922}
redis-cli -p 7002 cluster addslots {10923..16383}

主从节点关联

前面是每个node节点的id,我们需要根据node节点id进行中从节点关联;

关联规则是 7003关联7000、7004关联70001、7005关联7002

css 复制代码
redis-cli -p 7003 cluster replicate 81ab3aacdb8af5a83af4f229a0b2351648edd84b
redis-cli -p 7004 cluster replicate ab11850a62091f8f095c82d886c005609ec8b403
redis-cli -p 7005 cluster replicate e06be4a56cc5836186ba9cb03e0f3a26835ba268

这里看我们已经关联完毕

再次执行redis-cli -p 7000 cluster nodes 已经可以看到3主3从已经创建完毕,3个master节点,3个slave节点;

集群验证

我们在7000端口添加了一个key,value为"Lxlxxx",通过切换redis-cli其余几个节点都进行了同步这个key;

通过Mac 的rdm工具进行连接,可以看到形成集群列表;

总结

至此Mac本地进行redis Cluster配置已经结束,下次可以尝试在docker容器里进行redis Cluster配置,本地所要考虑的因素比较少,所以很多配置没有加,包括reis日志log保存、也没有进行password设置;

相关推荐
oak隔壁找我几秒前
Spring Boot Starter 详解
后端
我是天龙_绍3 分钟前
整合Mybatis-Plus分页插件,并实现分页api方法
后端
Ray6615 分钟前
Spring循环依赖
后端
oak隔壁找我17 分钟前
Spring Bean 配置详解
后端
aloha_19 分钟前
es离线部署与配置
后端
我是天龙_绍44 分钟前
用SpringMvc,实现,增删改查,api接口
后端
小蜗牛编程实录1 小时前
MAT分析内存溢出- ShardingSphere JDBC的缓存泄露问题
后端
用户68545375977691 小时前
🚀 Transformer:让AI变聪明的"读心术大师" | 从小白到入门的爆笑之旅
人工智能·后端
深圳蔓延科技1 小时前
SpringSecurity中如何接入单点登录
后端
zym大哥大1 小时前
Redis-Zest
数据库·redis·缓存