rediss集群 三主三从集群模式

news2024/11/17 15:43:50
  1. 三主三从集群模式

1)、新建redis集群目录:7001~7006工作目录【/app/soft/redis-cluster/目下】

2)、在7001~7006 目录下创建bin和conf 目录,然后将/app/soft/redis/bin目录下的文件分别拷贝到7001~7006 目录,然后在7001~7006 目录conf文件夹创建redis.conf 文件。修改配置文件:

include /app/soft/redis-cluster/redis_common.conf

port 7006  【每个目录下端口自行定义,同一台服务器不能冲突】

#requirepass  1q2w3e4r

logfile "/app/soft/redis/logs/m.log"【日志路径可自行定义】

dir /app/soft/redis/data【数据存储路径可自行定义】

pidfile redis_m.pid

dbfilename dump_m.rdb

appendfilename "appendonly_m.aof"

cluster-enabled yes

cluster-node-timeout 15000

cluster-config-file nodes-7006.conf 【每目录文件名自行定义,一台服务器不能冲突】

4)、将redis编译安装后的配置文件/app/soft/redis-5.0.12/redis.conf 拷贝至/app/soft/redis-cluster/  目录并重命名为redis_common.conf

5)、修改配置文件redis_common.conf

#bind 127.0.0.1

protected-mode no

daemonize yes

6)、在001~7006 /bin目录下分别执行以下命令启动redis服务

./redis-server  ../conf/redis.conf

2、创建集群【进入redis解压目录/app/soft/redis-5.0.12/src】执行以下命令

./redis-cli --cluster create  127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006 --cluster-replicas 1

--cluster-replicas 1【表示主从复制节点比例1:1,不跟这些指令执行时候有可能出现2主4从模式。】分配好主节点Master和从节点Slave及solt(槽)的大小,默认redis集群中仅含有16384个槽点。

3、查看redis集群中各节点【进入redis解压目录/app/soft/redis-5.0.12/src,在集群中任意节点输入以下命令】

./redis-cli --cluster check localhost:7001

4、Redis集群的会根据数据的key值计算一个slot(槽位),然后把数据写入Master节点的Slot,对应的slave节点会和master节点进行主从同步。读取数据时也会根据一致性哈希算法从master节点读取数据。

查看各几点占用槽位的命令./redis-cli --cluster check  127.0.0.1:7001

5、当master节点挂掉(服务异常、内存溢出、宕机)时,对应slave节点才会启动充当Master节点

127.0.0.1:7001> shutdown【登录到节点7001,停止redis服务】

not connected>

not connected> exit

[domains@ensemble1 src]$ ./redis-cli --cluster check  127.0.0.1:7001

Could not connect to Redis at 127.0.0.1:7001: Connection refused

查看集群情况,在其他节点执行以下命令:./redis-cli --cluster check  127.0.0.1:7002【此时7001原来的slave节点升级为Master节点,7001节点不可用】

注意:必须3个或以上主节点,否则创建集群失败;且当存活主节点数小于总数一半时集群不可以用。需要重新启动集群

6、集群异常时如何处理

1)、某一个Mastar点服务异常时,对应的Slave节点会自动切换为新的Master节点,数据使用/app/soft/redis/data/ 目录下的数据。

2)、当异常节点服务恢复后,执行 ./redis-cli --cluster check  ip:端口,重新检查并将该节点添加到集群中。

3)、若出现对应的主从节点同时服务异常,则集群不可对外提供服务。需要尽快恢复节点

7、执行cluster info 命令查看集群状态信息

[domains@ensemble1 src]$ ./redis-cli   -c -p 7001【-c 以集群方式连接】

127.0.0.1:7001> cluster info

8、集群中节点的操作

1)、从节点的删除

./redis-cli --cluster del-node  127.0.0.1:7001 ebf3defc027d5ec32bbc491f0332cc652aae23ab【这个是要删除的节点ID】

2)、添加从节点

./redis-cli --cluster add-node  127.0.0.1:7001 127.0.0.1:7006 --cluster-slave --cluster-master-id 797d05071cc019b65d4f6ff3ce724b1f95bd0612

#添加节点时候一定要清楚节点中的数据

#127.0.0.1:7001 127.0.0.1:7006分别表示新加入的slave节点和集群中任意一个节点

#--cluster-slave表示加入的是slave节点

#--cluster-master-id表示slave对应的maste节点的ID

结果出现:make it join the cluster 表示节点添加成功

注意:添加的从节点必须清空数据才能添加,有数据的时候添加会报错。【登录需要添加的节点,执行flushdb命令清空redis数据库后再添加即可】

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

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

相关文章

C++ 动态规划 数位统计DP 计数问题

给定两个整数 a 和 b ,求 a 和 b 之间的所有数字中 0∼9 的出现次数。 例如,a1024,b1032 ,则 a 和 b 之间共有 9 个数如下: 1024 1025 1026 1027 1028 1029 1030 1031 1032 其中 0 出现 10 次,1 出现 10…

「数据结构」二叉搜索树1:实现BST

🎇个人主页:Ice_Sugar_7 🎇所属专栏:Java数据结构 🎇欢迎点赞收藏加关注哦! 实现BST 🍉二叉搜索树的性质🍉实现二叉搜索树🍌插入🍌查找🍌删除 &am…

codeforces 1400分

文章目录 1.[B. Phoenix and Beauty](https://codeforces.com/problemset/problem/1348/B)2.[C. Rotation Matching](https://codeforces.com/problemset/problem/1365/C)3.[C. Element Extermination](https://codeforces.com/problemset/problem/1375/C)4.[D. Epic Transform…

Mysql Day04

mysql体系结构 连接层服务层引擎层(索引)存储层 存储引擎 存储引擎是基于表建立的,默认是innoDB show create table tb; 查看当前数据库支持的存储引擎 show engines; InnoDB 特点 DML(数据增删改)遵循ACID模…

【STM32 HAL库实战】串口DMA + 空闲中断 实现不定长数据接收

本文目录 1、STM32CubeMX配置部分1.1 SYS配置如图1.2 RCC配置如图1.3 USART1配置NVIC SettingsDMA Settings 1.4 DMA配置 2、软件执行流程2.1 HAL_UARTEx_ReceiveToIdle_DMA()2.2 HAL_UART_IRQHandler(&huart1)2.3 HAL_UARTEx_RxEventCallback()2.4 HAL_UART_ErrorCallback…

接口测试类型分为哪些?

什么是接口(API) API全称Application Programming Interface,这里面我们其实不用去关注AP,只需要I上就可以。一个API就是一个Interface。我们无时不刻不在使用interfaces。我们乘坐电梯里面的按钮是一个interface。我们开车一个踩…

345. Reverse Vowels of a String(反转字符串中的元音字母)

题目描述 给你一个字符串 s ,仅反转字符串中的所有元音字母,并返回结果字符串。 元音字母包括 ‘a’、‘e’、‘i’、‘o’、‘u’,且可能以大小写两种形式出现不止一次。 问题分析 不要被题目迷惑了,题意是将元音字符提取出来…

Postgresql 的编译安装与包管理安装, 全发行版 Linux 通用

博客原文 文章目录 实验环境信息编译安装获取安装包环境依赖编译安装安装 contrib 下工具代码 创建用户创建数据目录设置开机自启动启动数据库常用运维操作 apt 安装更新源安装 postgresql开机自启修改配置修改密码 实验环境信息 Ubuntu 20.04Postgre 16.1 编译安装 获取安装…

Linux中常用的工具

软件安装 yum 软件包 在Linux中,软件包是一种预编译的程序集合,通常包含了用户需要的应用程序、库、文档和其他依赖项。 软件包管理工具是用于安装、更新和删除这些软件包的软件。常见的Linux软件包管理工具包括APT(Advanced Packaging To…

【c++入门】母牛生小牛

说明 有一头小母牛,从出生第四年起每年生一头小母牛,按此规律,第N年时有几头母牛? 输入数据 只有一个整数N,独占一行。(1≤N≤50) 输出数据 对每组数据,输出一个整数(独占一行)…

python+django高校教务选课成绩系统v0143

系统主要实现了以下功能模块: 本课题使用Python语言进行开发。基于web,代码层面的操作主要在PyCharm中进行,将系统所使用到的表以及数据存储到MySQL数据库中 使用说明 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并…

如何从格式化的 U盘恢复不见的数据

格式化与使用任何容量有限的存储设备(例如 USB 闪存驱动器)密切相关。在大多数情况下,一次性删除所有内容比逐个删除文件更快、更方便。但是,如果您犯了错误并意外格式化了错误的驱动器怎么办?是否可以从格式化的闪存驱…

linux进程(进程地址空间)

目录 前言: 正文: 1.验证地址空间 2.地址空间是指物理空间吗 3.linux内核的地址空间 4进程访问地址 4.1早期程序寻址 4.2进程地址空间到物理内存的映射 4.3解释同一变量产生不同值 5虚拟地址空间的意义 5.1保护物理内存 5.2进程管理和内…

DolphinScheduler-3.2.0 集群搭建

本篇文章主要记录DolphinScheduler-3.2.0 集群部署流程。 注:参考文档: DolphinScheduler-3.2.0生产集群高可用搭建_dophinscheduler3.2.0 使用说明-CSDN博客文章浏览阅读1.1k次,点赞25次,收藏23次。DolphinScheduler-3.2.0生产…

VitePress-13- 配置-title的作用详解

作用描述 1、title 是当前站点的标题;2、默认值是 :VitePress;3、当使用默认主题时,会直接展示在 页面的【导航条】中;4、一个特殊的作用 : 会作为单个页面的默认标题后缀!除非又指定了【title…

[韩顺平]python笔记

AI工程师、运维工程师 python排名逐年上升,为什么? python对大数据分析、人工智能中关键的机器学习、深度学习都提供有力的支持Python支持最庞大的 代码库 ,功能超强 数据分析:numpy/pandas/os 机器学习:tensorflow/…

【算法与数据结构】42、LeetCode接雨水

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析:   程序如下: 复杂度分析: 时间复杂度: O ( ) O() O()。空间复…

hook函数——useRef

useRef useRef 是一个 React Hook,它能帮助引用一个不需要渲染的值。也就是说useRef可以存储一个值,但是不被组件渲染,仅仅只是引用,主要包括两个方面,例如使用ref引用一个值,使用ref引用一个dom节点&…

「C++ 类和对象篇 10」初始化列表

目录 一、什么是初始化列表? 二、为什么需要初始化列表? 三、初始化列表怎么使用? 3.1 在构造函数中使用初始化列表 3.2 注意 3.3 结论 3.4 应用场景 四、初始化列表的初始化顺序 五、另一种初始化成员变量的方法 【总结】 一、什么是初始化…

openresty (nginx)快速开始

文章目录 一、什么是openresty?二、openresty编译安装1. 编译安装命令1.1 编译完成后路径1.2 常用编译选项解释 2. nginx配置文件配置2.1 nginx.conf模板 3. nginx常见配置一个站点配置多个域名nginx配置中location匹配规则 三、OpenResty工作原理OpenResty工作原理…