分享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设置;

相关推荐
IT_陈寒6 分钟前
Java线程池用错参数,我的服务居然悄悄崩溃了
前端·人工智能·后端
光影少年18 分钟前
Express 中间件原理
后端·node.js·express
浅念-1 小时前
Redis基础详解:单线程模型、String与Hash数据结构
服务器·数据库·redis·sql·mysql·nosql数据库·nosql
aramae1 小时前
MySQL内置函数(7)
开发语言·笔记·后端·mysql·其他
张某布响丸辣2 小时前
附件下载的安全边界:路径白名单、NAS 哨兵文件与 Redis Lua 一次性令牌
java·redis·redis lua·nas哨兵
徐小夕2 小时前
存量.doc 文档怎么办?JitWord 开源转换库打通旧文档到在线协同全链路
后端·架构·github
ee又momo2 小时前
一次 JWT Token 过期续期的踩坑记录
后端
二月龙2 小时前
App 瘦身实战:图片、so 库、资源压缩,安装包体积减小 40%
后端
大勇前进2 小时前
Kotlin 协程实战避坑:90% 的人都会踩的生命周期泄漏问题
后端
Wang's Blog3 小时前
Java 接入Redis: 使用Jedis操作Redis
java·服务器·redis