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

相关推荐
NiNg_1_2343 小时前
SpringBoot整合SpringSecurity实现密码加密解密、登录认证退出功能
java·spring boot·后端
Chrikk4 小时前
Go-性能调优实战案例
开发语言·后端·golang
幼儿园老大*4 小时前
Go的环境搭建以及GoLand安装教程
开发语言·经验分享·后端·golang·go
canyuemanyue4 小时前
go语言连续监控事件并回调处理
开发语言·后端·golang
杜杜的man4 小时前
【go从零单排】go语言中的指针
开发语言·后端·golang
customer086 小时前
【开源免费】基于SpringBoot+Vue.JS周边产品销售网站(JAVA毕业设计)
java·vue.js·spring boot·后端·spring cloud·java-ee·开源
Yaml47 小时前
智能化健身房管理:Spring Boot与Vue的创新解决方案
前端·spring boot·后端·mysql·vue·健身房管理
水月梦镜花8 小时前
redis:list列表命令和内部编码
数据库·redis·list