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

devtools/2024/9/30 6:27:22/

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

更多详细内容请参考:《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/devtools/7716.html

相关文章

win docker clickhouse 挂载本地目录到容器后无法写入数据问题解决

win docker 部署clickhouse 挂载本地目录到容器后无法写入数据问题具体错误提示代码尝试在docker compose 文件中添加文件操作的许可进一步在docker compose 中配置 ulimits参数如下修改映射的本地目录到d盘最后使用docker的数据卷来映射到容器内部目录,解决了不能…

ROS 的通信机制之话题订阅模型详解

ROS 的通信机制之话题订阅模型 文章目录 ROS 的通信机制之话题订阅模型1.基础概念2.通信流程3.本质原理3.1节点注册和发现3.2话题匹配3.3通信协议3.4 消息序列化与反序列化 4. 简单通信举例4.1 简单话题消息发布4.2简单话题消息订阅4.3CmakeLists.txt编写4.4 运行效果 1.基础概…

HackMyVM-Hommie

目录 信息收集 arp nmap WEB web信息收集 dirsearch ftp tftp ssh连接 提权 系统信息收集 ssh提权 信息收集 arp ┌──(root㉿0x00)-[~/HackMyVM] └─# arp-scan -l Interface: eth0, type: EN10MB, MAC: 08:00:27:77:ed:84, IPv4: 192.168.9.126 Starting arp-…

springSecurity用户认证和授权

一,框架介绍 Spring 是一个非常流行和成功的 Java 应用开发框架。Spring Security 基于 Spring 框架,提供了一套 Web 应用安全性的完整解决方案。一般来说,Web 应用的安全性包括用户认证(Authentication)和用户授权&am…

npm常用命令详解

前言 npm(Node Package Manager)是Node.js的包管理器,它允许开发者安装、分享、更新和管理JavaScript库和工具。以下是一些常用的npm命令及其详细解释: 基础命令 1. 初始化一个新项目 npm init这个命令会引导你创建一个新的pack…

本地缓存Caffeine在springBoot的简单介绍与使用

Caffeine 是一个高性能的 Java 缓存库,它提供了灵活的缓存策略,比如自动加载、大小限制、时间过期和引用回收等。这个库是基于 Google Guava 缓存设计而来,但在性能上进行了大幅优化,是当前 Java 应用中常用的缓存解决方案之一。 …

基于SpringBoot + Vue实现的奖学金管理系统设计与实现+毕业论文+答辩PPT

介绍 角色:管理员、学院负责人、学校负责人、学生 管理员:管理员登录进入高校奖助学金系统的实现可以查看系统首页、个人中心、学生管理、学院负责人管理、学校负责人管理、奖学金类型管理、奖学金申请管理、申请提交管理、系统管理等信息 学院负责人:学院负责人登录系统后&am…

基于HC32F460petb芯片给FLASH安装fat文件系统

FAT(File Allocation Table)文件系统是一种用于磁盘驱动器、USB闪存驱动器、软盘等存储设备的文件系统。FAT文件系统主要有两种变体:FAT12和FAT16,它们后来被FAT32所取代。FAT32文件系统是对FAT16的扩展,支持更大的文件…