《Linux运维总结:Kylin V10+ARM架构CPU基于docker-compose一键离线部署redis6.2.8之容器版哨兵集群》

server/2024/9/30 6:35:02/

总结:整理不易,如果对你有帮助,可否点赞关注一下?

更多详细内容请参考:《Linux运维篇:Linux系统运维指南》


一、部署背景

由于业务系统的特殊性,我们需要面向不通的客户安装我们的业务系统,而作为基础组件中的redis针对不同的客户环境需要多次部署哨兵集群,作为一个运维工程师,提升工作效率也是工作中的重要一环。所以我觉得有必要针对 ARM64 CPU架构redis6.2.8容器版哨兵集群编写自动化部署工具。


二、工具介绍

一键部署工具实现功能如下:

1、支持单实例
2、支持单机伪集群部署
3、支持多机分布式集群部署
4、支持redis哨兵集群数据、日志、配置文件持久化
5、支持数据目录、日志目录、端口、密码参数灵活配置
6、支持创建、启动、停止、检测、卸载redis哨兵集群

说明:工具使用非常简单,只需要修改变量文件,一分钟就可以快速帮你部署redis哨兵集群。


三、工具下载

Kylin V10+ARM架构CPU基于docker-compose一键离线部署redis6.2.8之哨兵集群工具(桥接模式)
Kylin V10+ARM架构CPU基于docker-compose一键离线部署redis6.2.8之哨兵集群工具(主机模式)


四、工具使用

说明:

1、这里的桥接模式和主机模式是指docker容器的网络模式,使用桥接网络或者主机网络。这里以多机分布式集群为大家演示redis哨兵集群部署过程。

2、单机伪集群是指在单主机部署redis哨兵集群,分布式集群是指在不同主机上部署redis哨兵集群。

3、桥接模式和主机模式操作步骤完全一样,这里就只介绍桥接模式为例。


1、查看帮助命令
在这里插入图片描述


2、准备一键部署工具包

说明:将一键部署工具包分别上传到redis哨兵集群主机节点上。


3、编辑变量文件

说明:以下操作分别在redis哨兵集群节点的部署工具包中修改cluster.conf文件

[root@k8s-master-28 redis-sentinel]# cp cluster.conf.tpl cluster.conf
[root@k8s-master-28 redis-sentinel]# vim cluster.conf
# 建议填写为当前磁盘最大存储空间目录,如果系统盘空间最大,建议填写为/data,如果挂在盘空间最大,建议填写为挂载目录
export BASE_DIR="/data"# redis哨兵集群之master节点内网ip地址及映射宿主机端口,根据实际情况填写
export REDIS_MASTER_HOST="172.18.1.28"
export REDIS_MASTER_PORT="7001"# redis哨兵集群之slave1节点内网ip地址及映射宿主机端口,根据实际情况填写
export REDIS_SLAVE_HOST="172.18.1.42"
export REDIS_SLAVE_PORT="7002"# redis哨兵集群之sentinel节点内网ip地址及映射宿主机端口,根据实际情况填写
export REDIS_SENTINEL_HOST="172.18.1.134"
export REDIS_SENTINEL_PORT="7003"# redis哨兵集群密码,根据实际情况填写
export REDIS_PASSWORD="JqLvfsNms9#ekMJc"# 数据存放目录,一般为服务器上存储空间最大分区,默认不修改
export REDIS_DATA_DIR="${BASE_DIR}/basic-data/redis-sentinel"

4、执行部署

说明:根据cluster.conf规划,分别在redis哨兵集群节点上执行部署。

# 1、在k8s-master-28上部署master节点
[root@k8s-master-28 redis-sentinel]# ./op.sh build master# 2、在k8s-master-28上部署slave节点
[root@k8s-master-42 redis-sentinel]# ./op.sh build slave# 3、在k8s-master-28上部署sentinel节点
[root@k8s-master-134 redis-sentinel]# ./op.sh build sentinel

5、检查集群状态
在这里插入图片描述


总结:整理不易,如果对你有帮助,可否点赞关注一下?

更多详细内容请参考:《Linux运维篇:Linux系统运维指南》


http://www.ppmy.cn/server/14500.html

相关文章

论文笔记:Time-LLM: Time Series Forecasting by Reprogramming Large Language Models

iclr 2024 reviewer 评分 3888 1 方法 提出了 Time-LLM, 是一个通用的大模型重编程(LLM Reprogramming)框架将 LLM 轻松用于一般时间序列预测,而无需对大语言模型本身做任何训练 为什么需要时序数据和文本数据对齐:时…

深度学习pytorch小实验

让我们开始进行一个简单的深度学习实验吧!我们将使用PyTorch来实现。在这个实验中,我们将训练一个基本的人工神经网络(Artificial Neural Network,ANN)来进行手写数字的识别。首先,我们需要导入相关的库和模…

解决 uniapp uni.getLocation 定位经纬度不准问题

【问题描述】 直接使用uni.getLocation获取经纬度不准确,有几百米的偏移。 【解决办法】 加偏移量 //加偏移 let x longitude let y latitude let x_pi (3.14159265358979324 * 3000.0) / 180.0 let z Math.sqrt(x * x y * y) 0.00002 * Math.sin(y * x_pi)…

css中新型的边框设置属性border-inline

一、概念与背景 border-inline 是 CSS Logical Properties and Values 模块中的一个属性,用于控制元素在流内(inline)方向上的边框。该模块旨在提供与书写模式(writing mode)无关的布局和样式描述方式,使得…

Pytorh checkpoint系统深入解析以及优化(01)

Pytorh checkpoint系统深入解析以及优化 checkpoint包含啥?流程分析 checkpoint包含啥? 参考 Saving and loading a general checkpoint in PyTorch ‒ PyTorch Tutorials 2.0.0cu117 documentation,至少包含模型model,最好包含优…

STM32 串口打印乱码(Cubemx)

STM32 串口打印乱码(Cubemx) 时钟配置错误,CubeMX默认的外部晶振是25MHz,而板载的晶振为8MHzSTM32F407修改程序将外部25M晶振修改为8M(标准库、HAL库) 核心问题 芯片型号与晶振配置:使用的ST…

JavaEE 初阶篇-深入了解 I/O 流(FileInputStream 与 FileOutputStream 、Reader 与 Writer)

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 I/O 流概述 2.0 文件字节输入流(FileInputStream) 2.1 创建 FileInputStream 对象 2.2 读取数据 2.3 关闭流 3.0 文件字节输出流(FileOutputStream) 3.1 创建 Fi…

C++:websocketpp使用

文章目录 一、官网地址二、简介三、安装四、使用 一、官网地址 https://github.com/zaphoyd/websocketpp 参考 https://blog.csdn.net/qq_40344790/article/details/131207379 https://www.cnblogs.com/luckydml/p/11867319.html 二、简介 WebSocket(简称WebSock…