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

相关推荐
间彧4 分钟前
如何结合CI/CD流水线自动选择正确的Docker Compose配置?
后端
间彧5 分钟前
在多环境(开发、测试、生产)下,如何管理不同的Docker Compose配置?
后端
间彧6 分钟前
如何为Docker Compose中的服务配置健康检查,确保服务真正可用?
后端
间彧10 分钟前
Docker Compose和Kubernetes在编排服务时有哪些核心区别?
后端
间彧16 分钟前
如何在实际项目中集成Arthas Tunnel Server实现Kubernetes集群的远程诊断?
后端
brzhang1 小时前
读懂 MiniMax Agent 的设计逻辑,然后我复刻了一个MiniMax Agent
前端·后端·架构
睡前要喝豆奶粉1 小时前
在.NET Core Web Api中使用redis
redis·c#·.netcore
草明1 小时前
Go 的 IO 多路复用
开发语言·后端·golang
蓝-萧2 小时前
Plugin ‘mysql_native_password‘ is not loaded`
java·后端
故事不长丨2 小时前
【Java SpringBoot+Vue 实现视频文件上传与存储】
java·javascript·spring boot·vscode·后端·vue·intellij-idea