redis集群 mac安装

news2024/11/14 9:07:47

1.安装redis

mac环境用brew install安装

brew install redis

安装好后默认配置启动单点服务

redis-server

注:brew默认程序安装在/usr/local/Cellar目录下

/usr/local/Cellar/redis

默认配置文件在

/usr/local/etc/redis.conf

2.创建配置文件

准备创建6个节点,方便起见,创建6个工作目录,根据准备的端口号创建目录

cd ~
mkdir rediscluster
cd rediscluster
mkdir 8001 8002 8003 8004 8005 8006

先将默认配置文件拷贝到8001中,修改改配置文件

cd 8001
cp /usr/local/etc/redis.conf redis.conf
vi redis.conf

找到配置文件以下关键字并修改

# 端口号,每个目录都不同
port 800X
# 开启集群模式
cluster-enabled yes
#节点超时实际,单位毫秒
cluster-node-timeout 5000
# 每个Redis集群节点/实例需要一个单独的配置文件,同一宿主机系统中不同实例的配置文件名称不能冲突
cluster-config-file nodes-800X.conf
# 启动 AOF
appendonly yes

作者:等到的等待
链接:https://juejin.cn/post/6998537296899211278
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

将修改后的配置文件复制到其他几个文件夹中,并修改相应端口号

然后逐一进入各个目录,执行命令:

redis-server redis.conf

3.关联所有节点

所有节点已经启动,但此时他们都是相互独立的单个集群节点。要想实现集群,必须将他们关联起来,随便进入一个节点的redis-cli

执行下面的命令:

redis-cli -p 8001
127.0.0.1:8001> cluster meet 127.0.0.1 8002
OK
127.0.0.1:8001> cluster meet 127.0.0.1 8003
OK
127.0.0.1:8001> cluster meet 127.0.0.1 8004
OK
127.0.0.1:8001> cluster meet 127.0.0.1 8005
OK
127.0.0.1:8001> cluster meet 127.0.0.1 8006
OK

此时所有的节点都关联起来了

4.分配slot

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

执行命令:

redis-cli -p 8001 cluster addslots {0..5461}
redis-cli -p 8003 cluster addslots {5462..10922}
redis-cli -p 8005 cluster addslots {10923..16383}

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

redis-cli -p 8001 cluster nodes

2e2765b574da0ed4532b4568ba3d9536496955c4 127.0.0.1:8006@18006 master - 0 1672488398329 5 connected
b3d3bbfe7f6ec8c5c949bf6e60c82147f6cd7f7e 127.0.0.1:8003@18003 master - 0 1672488396315 3 connected 5462-10922
fcb16440bc6156034fe22fc268e5dc21d58af468 127.0.0.1:8004@18004 master - 0 1672488397825 0 connected
e6e8d6884e004d9cc58c3b5599eab456fda43fb0 127.0.0.1:8005@18005 master - 0 1672488398000 4 connected 10923-16383
4856476e14fe48e15418718f98a2aabc89a4bca4 127.0.0.1:8001@18001 myself,master - 0 1672488396000 1 connected 0-5461
74ff13d26dc78a166e24f2ac7de084e842fcdadb 127.0.0.1:8002@18002 master - 0 1672488397321 2 connected

从图中可以看出,8001、8003、8005节点都已经有了slot

5.主从复制

主节点已经有了slot,下一步将主节点与从节点进行关联,形成主从复制关系。

注意:需要从节点的cli命令窗口关联主节点

redis-cli -p 8002 cluster replicate 4856476e14fe48e15418718f98a2aabc89a4bca4
OK
redis-cli -p 8004 cluster replicate b3d3bbfe7f6ec8c5c949bf6e60c82147f6cd7f7e
OK
redis-cli -p 8006 cluster replicate e6e8d6884e004d9cc58c3b5599eab456fda43fb0
OK

后面字符串为相应主节点的id,可以再次执行命令

redis-cli -p 8001 cluster nodes

 可以看到主从已经分配好

6.工具搭建集群

以上命令比较繁琐,可以通过redis提供的小公举redis-trib.rb进行搭建,采用ruby便携,内部也是通过这些命令,本片为了理解redis cluster原理,就不采用这种方式了。具体搭建方法可以自行google。

7.验证集群

redis-cli -p 8001
127.0.0.1:8001> set a b
(error) MOVED 15495 127.0.0.1:8005

看到上面命令报错,是因为用redis-cli连接时没有启动集群模式,需要添加参数-c

redis-cli -c -p 8001
127.0.0.1:8001> set a b
-> Redirected to slot [15495] located at 127.0.0.1:8005
OK
127.0.0.1:8005> get a
"b"
127.0.0.1:8005> keys *
1) "a"
127.0.0.1:8005> set a c
OK
127.0.0.1:8005> get a
"c"
127.0.0.1:8005> set b d
-> Redirected to slot [3300] located at 127.0.0.1:8001
OK
127.0.0.1:8001> get b
"d"

上图可以看到,连接节点8001,添加key value后从定向存至8005执行了set操作。之后的一系列操作为练习命令

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/131420.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

谣言检测数据集

1 PHEME-R 这是一个在PHEME FP7项目的新闻学用例中收集和注释的数据集。这些谣言与9个不同的突发新闻相关。它是为分析社交媒体谣言而创建的,包含由谣言推文发起的推特对话;对话包括对这些谣言推文的回应推文。这些推文已经被注解为支持度、确定性和证…

VS2012安装教程

我要学只有我们两个人懂得C语言。 安装包:https://pan.baidu.com/s/1YR7Xk9Zlv7zQWCsERdVgIQ [提取码]:stvi 1、右键以管理员身份运行 “vs_ultimate.exe” 2、编辑软件安装位置,然后点击同意许可,之后点下一步即可! 3…

mongoDB聚合查询

管道 管道在Unix和Linux中一般用于将当前命令的输出结果作为下一个命令的参数。MongoDB的聚合管道将MongoDB文档在一个管道处理完毕后将结果传递给下一个管道处理。管道操作是可以重复的。 聚合管道操作 可参考菜鸟文档:菜鸟文档 命令 功能描述 $project指定输出…

shell第四天作业——流程控制之循环

题目 一、for创建20个用户,用户前缀由用户输入,用户初始密码由用户输入。 二、for循环ping测试指定网段的主机,网段由用户输入。 三、使用for/while实现批量主机root密码的修改 一、for创建20个用户,用户前缀由用户输入&#x…

2022年已然要结束了,一起来分享下你的故事吧!2023年的接力棒已经递到手里,千言万语不如一句Fighting!

【系列专栏】:博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来! 《QT开发实战》 《嵌入式通用开发实战》 《从0到1学习嵌入式Linux开发》 《Android开发实战》 《实用硬件方案设计》 长期持续带来更多案例与技术文章分享…

c++语法欠缺地方

sizeof是用来计算变量占多大内存的,单位是字节(byte);sizeof 后面跟类型时,必须加上括号,例如sizeof(double);后面跟变量可以不用加括号,例如:sizeof d%d是以十进制形式输出有符号整…

CDP集群卸载过程

CDP集群卸载过程 1. 登录到Cloudera Manager,并停止整个集群服务。 2. 停用并移除所有Parcel 3. “停用”CDH7的Parcel。 4. 从主机删除”CDH6的Parcel 5. 删除集群 6. 登录server机器,停止CM Server服务 systemctl stop cloudera-scm-server 7. 移除…

如何实现高性能点赞(三)

数据库设计 数据库表中至少要包含三个字段:被点赞用户id,点赞用户id,点赞状态。再加上主键id,创建时间,修改时间就行了。 建表语句 对应的对象 UserLike 数据库操作 操作数据库同样封装在接口中 LikedService L…

【2.2】服务拆分--服务远程调用

服务拆分--服务远程调用1 案例--根据订单id查询订单功能2 远程调用方式分析2.1 注册RestTemplate2.2 发http请求3 总结1 案例–根据订单id查询订单功能 需求:根据订单id查询订单的同时,把订单所属的用户信息一起返回。 由上一节的测试结果可以看出&…

opencv-python常用函数解析及参数介绍(五)——腐蚀与膨胀

腐蚀与膨胀前言膨胀腐蚀开运算与闭运算礼帽与黑帽运用膨胀和腐蚀获得图像轮廓前言 有些时候图片上会有一些划痕或者污渍,会影响图片的质量,假设我有一张写有“艾醒”的图片,但是有花花绿绿的划痕和污渍,这时我们就可以运用腐蚀与…

五、Web自动化测试

Web自动化测试5.1 Selenium Web 自动化5.1.1 Selenium 和 Robot Framework SeleniumLibrary 库介绍安装 robotframework-seleniumlibrary导入 SeleniumLibrary5.1.2 Open Browser 和 Close Browser5.1.3 Input Text5.1.4 Click Button5.1.5 Click Element5.1.6 Click Link5.1.7…

2022CTF培训(十)IOT 相关 CVE 漏洞分析

附件下载链接 这里选择的设备是一款家用路由器,型号为 D-Link DIR-850L(EOL) 。由于该款路由器已停产,官网无法下载到固件,不过目前这个网站还能下载到相关的固件,当然附件中也会提供需要分析的固件。 固件解密 以 DIR850LB1_FW…

归一化 (Normalization)、标准化 (Standardization)和中心化/零均值化 (Zero-centered)

目录 一、概念 1、归一化(Normalization): 2、标准化(Standardization): 3、中心化/零均值化(zero-centered): 二、联系和差异: 三、标准化和归一化的多种…

Faster RCNN网络源码解读(Ⅵ) --- RPN网络代码解析(上)RPNHead类与AnchorsGenerator类解析

目录 一、代码作用(rpn_function.py) 二、代码解析 2.1 RPNHead类 2.2 AnchorsGenerator类 2.2.1 初始化函数__init__ 2.2.2 正向传播过程 forward 2.2.3 set_cell_anchors生成anchors模板 2.2.4 generate_anchors生成anchors 2.2.5 cached_g…

【Linux】vim 中批量添加注释

本期主题:vim 中批量添加注释博客主页:小峰同学分享小编的在Linux中学习到的知识和遇到的问题小编的能力有限,出现错误希望大家不吝赐 此文主要介绍两种方法:方法一 :块选择模式;方法二: 替换命令 &#x…

Java基础随手记

数组 数组的使用 数组可以存放多个同一类型的数据,数组也是一种数据类型,是引用类型。即:数组就是一组数据 问题引入 传统的解决方式 使用数组来解决 可以看到,我们创建了一个double类型元素的数组,将我们要计算…

buuctf-misc-[GKCTF 2021]你知道apng吗1

先下载附件,快要过年了,十二月份还没发过文章,紧急写一篇。 下载文件后缀名为apng 搜索一下APNG(基于PNG的位图动画格式)_百度百科 利用火狐浏览器可以打开 类似gif图片的格式,用专门工具进行拆解&#xf…

MySQL内部的核心组件

mysql前言 1.MySQL的驱动 2.数据库的连接池 3.MySQL的工作线程 4.SQL接口 5.SQL解析器 6.查询优化器 7.执行器组件 8.存储引擎接口 1.MySQL的驱动是做什么的? 尤其记得刚刚学习MySQL的时候,引入的pom坐标:mysql-connector-java,这…

软考- 计算机组成原理与体系结构

【考点梳理】 考点1、数据的表示(★★★★) 考点1.1、进制的转换 【考法分析】 本考点的基本考法是与内存地址计算、IP地址计算结合考查。 【要点分析】 1、十进制转R进制(短除法); 2、R进制转十进制&#xff0…

Arduino与Proteus仿真实例-WS2812实现音乐氛围灯仿真

WS2812实现音乐氛围灯仿真 本文将使用WS2812实现一个音乐氛围灯。Arduino通过检测音频信号强度,然后转换成W2812灯带驱动信号,从而实现音乐氛围灯。 WS2812的驱动和使用在前面的文章中作了详细的介绍,请参考: Arduino与Proteus仿真实例-WS2812-RGB-LED灯带酷炫效果仿真Ar…