redis哨兵与集群部署

article/2025/6/7 23:07:47

目录

一.哨兵模式部署

1.设置Redis哨兵模式配置文件的属组以及属主(所有节点操作)

2.修改Redis哨兵模式的配置文件(所有节点操作)

3.准备server文件启动,先启主再启从(所有节点操作)

4.验证

二.集群部署

1.新建集群文件目录

2.准备可执行文件到每个文件夹

3.开启群集功能

4. 启动redis节点

5.查看是否启动成功

6.启动集群

7.测试集群


一.哨兵模式部署

实验环境

master   192.168.181.128

slave1    192.168.181.129

slave2    192.168.181.130

注意:哨兵的启动依赖于主从模式,所以须把主从模式安装好的情况下再去做哨兵模式

1.设置Redis哨兵模式配置文件的属组以及属主(所有节点操作)

cp /data/redis-6.2.6/sentinel.conf /apps/redis/etc/
chown redis.redis /apps/redis/etc/sentinel.conf 

2.修改Redis哨兵模式的配置文件(所有节点操作)

vim /apps/redis/etc/sentinel.conf
protected-mode no                                    关闭保护模式
port 26379                                            Redis哨兵默认的监听端口
daemonize yes                                        不用修改如果是systemd 启动模式, 修改后启动不了
pidfile /apps/redis/run/redis-sentinel.pid       指定PID文件
logfile "/apps/redis/log/sentinel.log"           指定日志存放路径
dir /tmp                         指定数据库存放路径
sentinel monitor mymaster 192.168.181.128 6379 2        修改指定该哨兵节点监控
sentinel auth-pass mymaster 123456                指定Master节点的密码,仅在Master节点设置了requirepass 123456
sentinel down-after-milliseconds mymaster 3000        判定服务器down掉的时间周期,默认30000毫秒(30秒)
sentinel failover-timeout mymaster 180000   同一个sentinel对同一个master两次failover之间的间隔时间(180秒)
###将修改好的redis的配置文件复制到另外两个从服务器
scp -r /apps/redis/etc/sentinel.conf 192.168.181.129:/apps/redis/etc/
scp -r /apps/redis/etc/sentinel.conf 192.168.181.130:/apps/redis/etc/

3.准备server文件启动,先启主再启从(所有节点操作)

[root@localhost etc]#cat  >> /lib/systemd/system/redis-sentinel.service  <<eof
[Unit]
Description=Redis Sentinel
After=network.target
[Service]
ExecStart=/apps/redis/bin/redis-sentinel /apps/redis/etc/sentinel.conf --supervised systemd
ExecStop=/bin/kill -s QUIT $MAINPID
User=redis
Group=redis
RuntimeDirectory=redis
RuntimeDirectoryMode=0755
[Install]
WantedBy=multi-user.target
eof


[root@localhost etc]# systemctl daemon-reload 
[root@localhost etc]# systemctl start redis-sentinel.service

4.验证

关掉 主服务器验证

在主上观察日志

tail -f /apps/redis/log/sentinel.log

会发现主会变成192.168.181.129,重启原先的主之后,会发现主变成了从

redis-cli -a 123456

127.0.0.1:6379> info replication

二.集群部署

开启多实例 来实现redis

redis的集群一般需要6个节点,3主3从。方便起见,这里所有节点在同一台服务器上模拟: 以端口号进行区分:3个主节点端口号:6001/6002/6003,对应的从节点端口号:6004/6005/6006

1.新建集群文件目录

[root@localhost src]#cd  /apps/redis/
[root@localhost redis]#mkdir -p redis-cluster/redis600{1..6}

2.准备可执行文件到每个文件夹

for i in {1..6}
do
cp /data/redis-6.2.6/redis.conf /apps/redis/redis-cluster/redis600$i
cp /data/redis-6.2.6/src/redis-cli /data/redis-6.2.6/src/redis-server /apps/redis/redis-cluster/redis600$i
done

3.开启群集功能

cd /apps/redis/redis-cluster/redis6001/
vim redis.conf

#bind 127.0.0.1                            #注释掉bind 项,默认监听所有网卡   bind 0.0.0.0
protected-mode no                        #修改,关闭保护模式
port 6001                                #修改,redis监听端口,
daemonize yes                            #开启守护进程,以独立进程启动  如果是 systemd 启动不需要修改
cluster-enabled yes                        #取消注释,开启群集功能
cluster-config-file nodes-6001.conf        #取消注释,群集名称文件设置
cluster-node-timeout 15000                #取消注释群集超时时间设置
appendonly yes                            #修改,开启AOF持久化
其余五台操作与其一致

[root@localhost redis6001]#cd /apps/redis/redis-cluster/redis6001
#先切换目录
#复制配置文件
for i in {2..6}
do
\cp -f  ./redis.conf   /apps/redis/redis-cluster/redis600${i}
done

sed  -i   's/6001/6002/'   /apps/redis/redis-cluster/redis6002/redis.conf
sed  -i   's/6001/6003/'   /apps/redis/redis-cluster/redis6003/redis.conf
sed  -i   's/6001/6004/'   /apps/redis/redis-cluster/redis6004/redis.conf
sed  -i   's/6001/6005/'   /apps/redis/redis-cluster/redis6005/redis.conf
sed  -i   's/6001/6006/'   /apps/redis/redis-cluster/redis6006/redis.conf
 

4. 启动redis节点

分别进入那六个文件夹,执行命令:redis-server redis.conf ,来启动redis节点

[root@localhost redis6001]#systemctl stop redis
# 先停止之前的服务
[root@localhost redis6001]#ss -natp |grep 6379

[root@localhost redis6001]#cd /apps/redis/redis-cluster/redis6001
# 切换目录

#脚本去启动
for d in {1..6}
do
cd /apps/redis/redis-cluster/redis600$d
redis-server redis.conf
done

5.查看是否启动成功

6.启动集群

redis-cli --cluster create 127.0.0.1:6001 127.0.0.1:6002 127.0.0.1:6003 127.0.0.1:6004 127.0.0.1:6005 127.0.0.1:6006 --cluster-replicas 1

7.测试集群

redis-cli -p 6001  -c
#加-c参数,节点之间就可以互相跳转
127.0.0.1:6001> cluster slots            #查看节点的哈希槽编号范围


http://www.hkcw.cn/article/LATQhFKMZl.shtml

相关文章

飞腾D2000,麒麟系统V10,docker,ubuntu1804,小白入门喂饭级教程

#下载docker Index of linux/static/stable/ 根据电脑的CPU类型选择&#xff1a; Intel和AMD选x86_64飞腾D2000选aarch64 #选择较新的版本 #在包含下载的docker-XX.X.X.tgz的文件夹中右键->打开终端 # 解压安装包&#xff08;根据实际下载的文件&#xff09; tar -zxvf …

torch.nn中的各种组件

Content 线性层 (Linear Layers)**核心原理&#xff1a;线性变换****关键组件****示例代码****示例1&#xff1a;基础线性层 (nn.Linear)****示例2&#xff1a;双线性层 (nn.Bilinear)** **应用场景** 非线性激活函数 (Non-linear Activations)**常用非线性激活函数****1. ReLU…

高性能分布式消息队列系统(二)

上一篇博客将C进行实现消息队列的用到的核心技术以及环境配置进行了详细的说明&#xff0c;这一篇博客进行记录消息队列进行实现的核心模块的设计 五、项目的需求分析 5.1、项目框架的概念性理解 5.1.1、消息队列的设计和生产消费者模型的关系 在现代系统架构中&#xff0c;…

AI健康小屋+微高压氧舱:科技如何重构我们的健康防线?

目前&#xff0c;随着科技和社会的不断发展&#xff0c;人们的生活水平和方式有了翻天覆地的变化。 从吃饱穿暖到吃好喝好再到健康生活&#xff0c;观念也在逐渐发生改变。 尤其是在21世纪&#xff0c;大家对健康越来越重视&#xff0c;这就不得不提AI健康小屋和氧舱。 一、A…

Azure DevOps Server 2022.2 补丁(Patch 5)

微软Azure DevOps Server的产品组在4月8日发布了2022.2 的第5个补丁。下载路径为&#xff1a;https://aka.ms/devops2022.2patch5 这个补丁的主要功能是修改了代理(Agent)二进制安装文件的下载路径&#xff1b;之前&#xff0c;微软使用这个CND(域名为vstsagentpackage.azuree…

Rag技术----项目博客(六)

RAG 定义&#xff1a;检索增强生成&#xff08;Retrieval Augmented Generation&#xff09;&#xff0c;简称 RAG&#xff0c;已经成为当前最火热的LLM应用方案。 目的&#xff1a;通过提供相关领域数据库通过问题检索信息&#xff0c;将相关信息合并到Prompt中&#xff0c;…

BioID技术:揭示铁死亡机制中Caspase-2蛋白相互作用网络

铁死亡&#xff08;Ferroptosis&#xff09;是一种铁依赖的非凋亡形式的细胞死亡&#xff0c;其发生与细胞内氧化应激失衡以及抗氧化防御途径受损密切相关。随着研究的深入&#xff0c;学界逐渐认识到蛋白质相互作用在铁死亡调控中扮演着关键角色。铁死亡作为一种新型的细胞死亡…

机器学习——随机森林算法

随机森林算法是一种强大的树集成算法&#xff0c;比使用单个决策树效果要好得多。 以下是生成树集成的方法&#xff1a;假设有一个大小为m的训练集&#xff0c;然后对于b1到B&#xff0c;所以执行B次&#xff0c;可以使用有放回抽样来创建一个大小为m的训练集。所以如果有10个…

快速排序(Quick Sort)算法详解(递归与非递归)

引言 在计算机科学中&#xff0c;排序算法是最基础且重要的算法之一。快速排序&#xff08;Quick Sort&#xff09;作为一种高效的排序算法&#xff0c;在实际应用中被广泛使用。平均时间复杂度为 (O(n log n))&#xff0c;最坏情况下为 (O(n^2))。本文将详细介绍快速排序算法…

8.RV1126-OPENCV 视频中添加LOGO

一.视频中添加 LOGO 图像大体流程 首先初始化VI,VENC模块并使能&#xff0c;然后创建两个线程&#xff1a;1.把LOGO灰度化&#xff0c;然后获取VI原始数据&#xff0c;其次把VI数据Mat化并创建一个感兴趣区域&#xff0c;最后把LOGO放感兴趣区域里并把数据发送给VENC。2.专门获…

Linux 下 ChromeDriver 安装

个人博客地址&#xff1a;Linux 下 ChromeDriver 安装 | 一张假钞的真实世界 Selenium 是一个用于 Web 应用程序测试的工具。可以通过它驱动浏览器执行特定的操作&#xff0c;如点击、下滑、资源加载与渲染等。该工具在爬虫开发中也非常有帮助。Selenium 需要通过浏览器驱动操…

C++学者给您讲数学之——数列

C学者为您解析数列基础 数列的概念 **数列&#xff08;sequence of number&#xff09;**是以正整数集&#xff08;或其有限子集&#xff09;为定义域的有序数集。数列中的每个数称为该数列的项&#xff0c;其中&#xff1a; 第一位称为第1项&#xff08;首项&#xff09; 第…

【Harmony OS】数据存储

目录 数据存储概述 首选项数据存储 关系型数据库 数据存储概述 • 数据存储 是为了解决应用数据持久化问题&#xff0c;使得数据能够存储在外存中&#xff0c;达到保存或共享目的。 • 鸿蒙应用数据存储包括 本地数据存储 和 分布式数据存储 。 • 本地数据存储 为应用…

程序员健康防护指南

深度学习欢迎访问&#xff1a;通义灵码2.5qwen3——节假日抢票不用愁&#xff0c;基于12306-MCP实现个人火车票智能查询小助手&#xff01;-CSDN博客 一、视觉系统防护工程 1. 数字眼疲劳综合征防控 蓝光管理&#xff1a;使用经认证的防蓝光眼镜可过滤45%有害蓝光&#xff0c;…

CSS 平铺+自动换行效果

先上效果图 样式 <template><div class"activity-questions"><h1>活动题库</h1><div v-if"loading" class"loading">加载中...</div><div v-else><div v-if"questions.length 0" clas…

苏超火了 “苏大强”的作业怎么抄 全网热潮背后的足球盛宴

“比赛第一,友谊第十四”是这里的原则。近日,江苏省首届城市足球联赛“苏超”火出圈。“苏超”由江苏省体育局与江苏省各设区市政府联合主办,13个设区市各派一队参加。联赛打破了准入的边界,队伍中既有职业球员也有个体工商户、大学生和高中生等业余球员。尽管球员水平与中…

ck-editor5的研究 (7):自定义配置 CKeditor5 的 toolbar 工具栏

文章目录 一、前言二、实现步骤1. 第一步: 搭建目录结构2. 第二步:配置toolbar工具栏的步骤(2-1). 配置粗体和斜体(2-2). 配置链接和标题+正文(2-3). 配置列表和引用(2-4). 配置自动格式化3. 第三步:更多工具三、测试效果和细节四、总结一、前言 在前面的文章中,我们已经对…

Skydel25.4发布:解锁自定义星座,增强C波段与干扰模拟能力

在GNSS模拟技术持续迭代的浪潮中&#xff0c;Skydel迈出创新一步&#xff0c;正式发布25.4.0版本及后续修复版本25.4.1。本次更新的核心突破在于引入了强大的自定义星座功能&#xff0c;赋予用户前所未有的自由度&#xff0c;可创建包含多达400颗卫星的专属星座&#xff0c;突破…

迅为RK3588开发板RKLLM-Toolkit 环境搭建安装 Miniconda

Conda 是一个开源的软件包管理系统和环境管理系统&#xff0c;它可以用于安装、管理和升级软件 包和依赖项&#xff0c;我们这里使用conda 的目的只是构建一个虚拟环境&#xff0c;所以选择轻量话的miniconda。 miniconda 的官方链接如下所示&#xff1a; 进入 miniconda 的…