Keepalived+Haproxy+Redis三主三从

一、集群部署

1、案例拓扑

2、资源列表

主从节点是随机分配的,下属列表只是框架:

操作系统主机名配置IP应用
OpenEuler24master12C4G192.168.10.101Redis
OpenEuler24master22C4G192.168.10.102Redis
OpenEuler24master32C4G192.168.10.103Redis
OpenEuler24slave12C4G192.168.10.104Redis
OpenEuler24slave22C4G192.168.10.105Redis
OpenEuler24slave32C4G192.168.10.106Redis
OpenEuler24HK12C4G192.168.10.107Haproxy+Keepalived
OpenEuler24HK22C4G192.168.10.108Haproxy+Keepalived

3、基础配置

3.1、安装

systemctl stop firewalld
setenforce 0
dnf -y install gcc zlib-devel
tar -zxf redis-5.0.14.tar.gz
make && make PREFIX=/usr/local/redis install && ln -s /usr/local/redis/bin/* /usr/local/bin/
cd utils
./install_server.sh

3.2、加入守护进程

vim /etc/systemd/system/redis.service##编辑内容##
# [Unit] 部分,用于定义服务的元数据和依赖关系
[Unit]
# 描述该服务,这里说明是 redis 服务
Description=redis  
# 表示该服务在 network.target 这个目标单元之后启动,即网络相关服务就绪后再启动 redis ,保障网络依赖
After=network.target  # [Service] 部分,定义服务的具体运行方式等配置
[Service]
# Type=forking 表示服务会以 fork 方式运行,即启动后会创建子进程,父进程退出,子进程继续提供服务 
Type=forking  
# ExecStart 定义启动服务时执行的命令,这里是调用 redis 服务器程序,并指定配置文件 /etc/redis/6379.conf ,让 redis 按该配置启动
ExecStart=/usr/local/redis/bin/redis-server /etc/redis/6379.conf  # [Install] 部分,定义服务安装相关的配置,即服务启用时如何关联到系统启动目标
[Install]
# WantedBy=multi-user.target 表示该服务希望被关联到 multi-user.target 这个系统启动目标,
# 在多用户模式(常见的系统正常运行模式,提供命令行等多用户使用环境 )下,启用该服务时会被纳入启动流程 
WantedBy=multi-user.target  

3.3、修改配置文件

配置项配置值说明
开启 Clustercluster-enabled yes---
集群配置文件cluster-config-file nodes-6379.confRedis 运行时保存配置的文件,不可修改
集群超时时间cluster-node-timeout 15000结点超时多久则认为它宕机
槽是否全覆盖cluster-require-full-coverage no默认 yes,结点宕机致 16384 个槽未全覆盖时集群全停止服务,需改为 no

3.4、重载守护进程

/etc/init.d/redis_6379 stopsystemctl daemon-reloadsystemctl restart redisnetstat -anpt | grep redis

4、集群配置

4.1、创建集群

redis-cli --cluster create --cluster-replicas 1 192.168.10.101:6379 192.168.10.102:6379 192.168.10.103:6379 192.168.10.104:6379 192.168.10.105:6379 192.168.10.106:6379

4.2、查看状态

cluster nodes

二、安装Keepalived+Haproxy

systemctl stop firewalld
setenforce 0
dnf -y install keepalived

1、编写一个监控脚本并启动 keepalived

vim /etc/keepalived/chk.sh###编辑内容###
#!/bin/bashif [ $(ps -C haproxy --no-header | wc-l) -eq 0 ];then /etc/init.d/keepalived stopecho "你的keepalived已经关闭了"
fichmod +x /etc/keepalived/chk.sh

2、编辑配置文件

3、安装Haproxy,并修改配置文件

4、开启服务

5、客户端验证

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

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

相关文章

Modbus转IEC104网关:电力自动化系统的桥梁

现代电力系统中,变电站、发电厂以及配电网络中存在大量采用不同通信协议的设备。Modbus协议因其简单易用在现场设备中广泛部署,而电力行业主流监控系统则普遍采用IEC 60870-5-104(简称IEC104)协议。协议差异导致的数据孤岛现象&am…

@annotation:Spring AOP 的“精准定位器“

想象你是一位快递员,负责给一个大型社区送快递。社区里有几百户人家,但只有特定家庭需要特殊服务: 普通快递:直接放快递柜生鲜快递:需要冷藏处理贵重物品:需要本人签收药品快递:需要优先配送 …

Web Worker使用指南 解锁浏览器多线程 ,提升前端性能的利器

文章目录 前言一、什么是 Web Worker二、适用场景1、CPU 密集型计算2、图像/视频处理3、实时数据流处理(高频场景)4、后台文件操作5、复杂状态机/AI逻辑(游戏开发)6、长轮询与心跳检测7、WebAssembly 加速8、WebGL 与 Canvas 渲染…

React 18.2.0 源码打包

一、React源码地址 GitHub:React 二、参考文章 sourcemap实战-生成react源码sourcemap Rollup中文文档 JavaScript Source Map 详解 全网最优雅的 React 源码调试方式 三、打包操作 安装依赖 // 全局安装yarn npm i -g yarn // 源码项目目录下执行yarn安装依赖…

UniApp 开发第一个项目

UniApp 开发第一个项目全流程指南,涵盖环境搭建、项目创建、核心开发到调试发布,结合最新实践整理而成,适合零基础快速上手: 🧰 一、环境准备(5分钟) 安装开发工具 HBuilderX(官方推荐IDE):下载 App 开发版,安装路径避免中文或空格 微信开发者工具(调试小程序必备…

Web项目开发中Tomcat10+所需的jar包

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl 项目背景 Web项目中使用低版本Tomcat时常用的jar包如下: javax.servlet-apijavax.ejb-apijavax.jms-apijavax.json-api 当Web项目使用Tomcat10的版本时&#…

网络安全就业方向与现实发展分析:机遇、挑战与未来趋势

网络安全行业的战略地位与就业背景 在数字经济蓬勃发展的今天,网络安全已从技术分支演变为关乎国家安全、企业存亡和个人隐私的核心领域。根据国家网信办数据显示,2025年我国网络安全人才缺口达200万人,较2023年增长33%。这一现象源于三重驱…

iOS runtime随笔-消息转发机制

运行时的消息转发分三步, 当你调用了没有实现的方法时, 有机会通过runtime的消息转发机制补救一下 resolveInstanceMethod/resolveClassMethod 这里可以动态去创建方法来解决CrashforwardingTargetForSelector ​​​​​第一步未解决, 就会走到这里, 可以给出一个Target去转发…

vue3用js+css实现轮播图(可调整堆叠程度)

先看效果 html <divclass"outer"style"width: 650px;background: #fff;box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.1);border-radius: 15px;margin: 0 10px 15px 5px;">//这里用的是svg-icon,需要的可自行替换为其他图片<svg-iconid"btn_l&q…

Three.js项目实战:从零搭建小米SU7三维汽车

大家如果有过购车的经验&#xff0c;肯定会先从网站上收集车辆的信息&#xff0c;比如懂车帝&#xff0c;汽车之家&#xff0c;这些网站上逼真的看车效果是如何实现的呢&#xff0c;这节课带你从0-1快速的手搓一个看车小项目。 懂车帝官网 效果 视频教程和笔记 大家可以下方小…

Android13 永久关闭SELinux 权限

永久关闭 SeLinux 在cmdline中增加参数androidboot.selinuxpermissive&#xff1b; 芯片: QCM6115 版本: Android 13 kernel: msm-4.19 ~/temp_code/SLM927D_LA.UM.9.15$ git diff device/qcom/bengal/BoardConfig.mk diff --git a/device/qcom/bengal/BoardConfig.mk b…

Linux创建DHCP服务

Linux可作为DHCP服务端使用&#xff0c;为同一个网络下的其它机器动态分配ip。在一些情况下&#xff0c;可以起到很大的作用。 二级标题 安装dnsmasq # ubuntu sudo apt update -y sudo apt install -y dnsmasq# centos sudo yum install -y dnsmasq修改配置文件 sudo vim …

汽车4G-TBOX智能终端 汽车国标GB/T 32960协议

汽车国标GB/T 32960协议4G TBOX是一种广泛应用于车联网的设备&#xff0c;下面将从不同方面为你详细介绍。 移动管家汽车4G-TBOX智能终端定义与用途 4G TBOX是基于车联网技术智能服务系统中的采集终端。以车云网的4G TBOX_CC750为例&#xff0c;它为整个智能服务系统提供GPS/…

JavaEE-Mybatis初阶

什么是MyBatis MyBatis是⼀款优秀的 持久层 框架&#xff0c;⽤于简化JDBC的开发。 MyBatis本是 Apache的⼀个开源项⽬iBatis&#xff0c;2010年这个项⽬由apache迁移到了google code&#xff0c;并 且改名为MyBatis 。2013年11⽉迁移到Github 创建项目时添加依赖 上面有…

记一次jvm机器问题定位经历

背景 开发过程中发现机器指标异常&#xff0c;端口也hang住无响应&#xff0c;端口返回为timeout&#xff0c;对应探活检测也失败了。 现象 在st测试环节&#xff0c;突然每隔一段时间新接口就hang住无响应&#xff0c;观察机器监控也发现端口探活失败&#xff0c;看机器指标…

【机器学习深度学习】张量基本操作

目录 一、张量基本操作 1.1 执行代码 1.2 运行结果 1.3 代码解析 ✅ 1. 创建张量&#xff08;tensor、randn、zeros&#xff09; ✅ 2. 索引与切片&#xff08;类似 NumPy&#xff09; ✅ 3. 形状变换&#xff08;reshape、转置、压缩&#xff09; ✅ 4. 数学运算&#x…

【微信小程序】8、获取用户当前的地理位置

1、获取当前的地理位置 获取当前的地理位置、速度。当用户离开小程序后&#xff0c;此接口无法调用。开启高精度定位&#xff0c;接口耗时会增加&#xff0c;可指定 highAccuracyExpireTime 作为超时时间。 注意&#xff1a; 地图相关使用的坐标格式应为 gcj02。高频率调用会…

Jenkins 常用定时构建脚本

Jenkins 常用定时构建脚本 Jenkins 使用 cron 风格的语法来配置定时构建任务&#xff0c;以下是常用的定时构建脚本示例和说明&#xff1a; 基本语法 Jenkins 定时构建使用五个字段表示时间&#xff0c;格式为&#xff1a; MINUTE HOUR DOM MONTH DOWMINUTE - 分钟 (0-59)H…

ActiveMQ漏洞复现

以下内容均在nextcyber靶场环境中完成&#xff0c;请勿用于非法途径&#xff01; ActiveMQ 反序列化漏洞&#xff08;CVE-2015-5254&#xff09; Apache ActiveMQ是美国阿帕奇&#xff08;Apache&#xff09;软件基金会所研发的一套开源的消息中间件&#xff0c;它支持Java消息…

环保处理设备远程运维管理解决方案

在环保产业蓬勃发展的当下&#xff0c;环保处理设备厂商面临着愈发激烈的市场竞争。为助力环保处理设备厂商在竞争中脱颖而出&#xff0c;御控工业智能网关打造了一套完善的PLC数据采集设备运维管理平台解决方案。此方案凭借其独特优势&#xff0c;能为环保处理设备厂商带来显著…