《Linux运维总结:Kylin V10+ARM架构CPU基于docker-compose一键离线部署mongodb4.0.11之副本集群》

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

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


一、部署背景

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


二、工具介绍

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

1、支持单实例部署
2、支持单机伪集群部署
3、支持多机分布式集群部署
4、支持一键创建mongodb管理用户密码
5、支持数据目录、日志目录、端口、密码参数灵活配置
6、支持创建、启动、停止、重启、卸载、检测mongodb集群状态
6、支持mongodb集群备份与恢复

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


三、工具下载

Kylin V10+ARM架构CPU基于docker-compose一离线部署mongodb4.0.11副本集群工具(桥接模式)
Kylin V10+ARM架构CPU基于docker-compose一离线部署mongodb4.0.11副本集群工具(主机模式)


四、工具使用

说明:

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

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

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


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


2、准备一键部署工具包

说明:将一键部署工具包分别上传到mongodb副本集群主机节点上。


3、编辑变量文件

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

[root@k8s-master-28 mongodb]# cp cluster.conf.tpl cluster.conf
[root@k8s-master-28 mongodb]# cat cluster.conf
# 建议填写为当前磁盘最大存储空间目录,如果系统盘空间最大,建议填写为/data,如果挂在盘空间最大,建议填写为挂载目录
export BASE_DIR="/data"# Mongodb数据存放根目录,默认即可,建议不要修改
export MONGODB_DATA_DIR="${BASE_DIR}/basic-data/mongodb"# Mongodb服务primary节点监听地址,建议填写内网地址,根据实际情况填写
export MONGODB_PRIMARY_HOST="172.18.1.28"# Mongodb服务primary节点映射宿主机端口,端口不冲突情况下,建议不修改
export MONGODB_PRIMARY_PORT="17001"# Mongodb服务secondary节点监听地址,建议填写内网地址,根据实际情况填写
export MONGODB_SECONDARY_HOST="172.18.1.42"# Mongodb服务secondary节点映射宿主机端口,端口不冲突情况下,建议不修改
export MONGODB_SECONDARY_PORT="17002"# Mongodb服务arbiter节点监听地址,建议填写内网地址,根据实际情况填写 
export MONGODB_ARBITER_HOST="172.18.1.134"# Mongodb服务arbiter节点映射宿主机端口,端口不冲突情况下,建议不修改
export MONGODB_ARBITER_PORT="17003"# Mongodb副本集群管理用户账号,根据实际情况填写
export MONGODB_ADMIN_USER="lolaage"# mongodb副本集群管理账号密码,根据实际情况填写
export MONGODB_ADMIN_PASSWORD="V6n%GNGesBZ7MH3P"# Mongodb读写用户账号,默认即可,建议不要修改
export MONGODB_POSSECU_USER="lolaage"# Mongodb读写用户密码,默认即可,建议不要修改
export MONGODB_POSSECU_PASSWORD="V6n%GNGesBZ7MH3P"

4、执行部署

说明:根据cluster.conf规划,分别在mongodb副本集群节点上执行部署。部署是有顺序的,优先级为arbiter>secondary>primary。

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

5、检查集群状态

[root@k8s-master-28 mongodb]# cd tools/
[root@k8s-master-28 tools]# ./auto_connect.sh connect primary
mongodb_cluster:PRIMARY> rs.status();

如下图所示:
在这里插入图片描述


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

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

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

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

相关文章

华为“天才少年”4万字演讲:现在的AI技术要么无趣,要么无用

近期,一篇4万字的演讲风靡于国内人工智能(AI)学术圈。 原华为“天才少年”、Logenic AI公司联合创始人李博杰博士,日前发表了一篇关于AI Agent思考的文章,题为“AI Agent 应该更有趣还是更有用”。 李博杰在这篇文章…

Claude国内镜像网站

AI生产力工具Claude 3私藏链接大公开! 🚀 国内尚未开放注册?别担心,这里有你想要的解决方案! 🔗 私藏链接:https://hiclaude3.cn 🌟 推荐指数:🌟&#x1f…

探索设计模式的魅力:融合AI大模型与函数式编程、开启智能编程新纪元

​🌈 个人主页:danci_ 🔥 系列专栏:《设计模式》 💪🏻 制定明确可量化的目标,坚持默默的做事。 🚀 转载自热榜文章:探索设计模式的魅力:融合AI大模型与函数式…

葡萄书--图卷积网络

现有图神经网络皆基于邻居聚合的框架,即为每个目标节点通过聚合其邻居刻画结构信息,进而学习目标节点的表示 谱域方法:利用图上卷积定理从谱域定义图卷积。空间域方法:从节点域出发,通过在节点层面定义聚合函数来聚合…

如何把PDF转成word文件?三个好用的方法推荐给你

PDF转Word的问题,一直是许多人在处理文档时经常遇到的挑战。PDF作为一种广泛使用的文件格式,具有许多优点,如保持文档的原始布局、防止内容被轻易修改等。然而,这也意味着PDF文件在某些情况下不易编辑,特别是当需要对其…

Linux系统一键安装DataEase结合内网穿透实现公网访问本地WebUI界面

文章目录 前言1. 安装DataEase2. 本地访问测试3. 安装 cpolar内网穿透软件4. 配置DataEase公网访问地址5. 公网远程访问Data Ease6. 固定Data Ease公网地址 前言 DataEase 是开源的数据可视化分析工具,帮助用户快速分析数据并洞察业务趋势,从而实现业务…

基于51单片机点滴输液控制系统LCD显示( proteus仿真+程序+设计报告+讲解视频)

基于51单片机点滴输液控制系统LCD显示 1. 主要功能:2. 讲解视频:3. 仿真设计4. 程序代码5. 设计报告6. 设计资料内容清单&&下载链接 基于51单片机点滴输液控制系统LCD显示( proteus仿真程序设计报告讲解视频) 仿真图proteus7.8及以上…

SpringBoot 集成Swagger3

说明: 1)、本文使用Spring2 集成Swagger3, 本想使用Springboot3 jdk 17 集成Swagger3, 但是搜了一些资料,Spring 想引用swagger3 需要依赖降级使用Spring2 版本,不然会出现下图的报错信息, 或者使用Sprin…

python笔记 | 哥德巴赫猜想

哥德巴赫猜想:每个不小于6的偶数都可以表示成两个素数之和。 素数:只能被1和自身整除的正整数。就是大于1且除了1和它本身之外没有其他因数的数。例如,2、3、5、7、11等都是素数,而4、6、8、9等则不是素数。 下面这段Python代码…

Python学习(四)文件操作

文件操作 想想我们平常对文件的基本操作,大概可以分为三个步骤(简称文件操作三步走): ① 打开文件 ② 读写文件 ③ 关闭文件 注意:可以只打开和关闭文件,不进行任何读写 在Python,使用open函数,可以打开一个已经存在的文件&…

【Java】处理工具类详解

在Java开发中,日期和时间的处理是一个绕不开的话题。Java自身提供了丰富的API来处理日期和时间,但是使用起来可能较为繁琐。因此,许多开发者会使用一些工具类来简化日期和时间的处理。本文将介绍一个常用的日期处理工具类——DateUtils&#…

环形链表的约瑟夫问题(牛客网)

/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * param n int整型 * param m int整型 * return int整型*/struct ListNode * BuyNode(int n)//创建节点和成环{ struct ListNode *pheadNULL;struct ListNode *ptailN…

吐血整理!跨境电商全年选品方向!一年12个月热点解析

一月 演出服、礼盒、贺卡、装饰品、彩带、拉花、红地毯、邀请函、荧光棒、泡泡机等。 二月 超级碗:投影仪、蓝牙音箱、超级碗电子游戏、望远镜、运动类产品等; 情人节:珠宝、服饰饰品、巧克力、香水、口红、烘焙用品、礼盒、个人护理、成…

MySQL常用命令和函数的讲解以及表之间的联结

Mysql的中一些语句的用法: 有表: CREATE TABLE book (id int(20) NOT NULL,book_name varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 书名,press varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NUL…

pymavlink 解析自定义mavlink消息。

1.下载mavlink_master包,用于将xml 文件生成对应的py文件。地址是 https://codeload.github.com/mavlink/mavlink/zip/refs/heads/master 进入目录运行python .\mavgenerate.py 呈现gui程序 2.根据发送端的消息定义格式修改接收解析段的pymavlink有关库。 可修改……

基于大数据的手机销售数据分析可视化系统,爬取京东和淘宝的的手机商品数据进行分析,Flask,Python,数据可视化

介绍 该系统主要是通过爬取京东和淘宝的的手机商品数据进行分析。爬虫python脚本通过打开浏览器授权登录后按照搜索“手机”关键字后出现的商品列表进行爬取,获取标题名,解析付款人数,品牌,评论人数,发货地&#xff0…

算法学习——LeetCode力扣补充篇14(179. 最大数、43. 字符串相乘、32. 最长有效括号、543. 二叉树的直径、113. 路径总和 II)

算法学习——LeetCode力扣补充篇14 179. 最大数 179. 最大数 - 力扣(LeetCode) 描述 给定一组非负整数 nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。 注意:输出结果可能非常大&…

吴恩达2022机器学习专项课程(一) 第二周课程实验:特征缩放和学习率(多元)(Lab_03)

备注:笔者只对个人认为的重点代码做笔记,其它详细内容请参考吴恩达老师实验里的笔记。 1.多元特征的训练集 调用load_house_data()函数,将训练集数据保存到数组中。 X,y分别存储所有训练样本的前四列,所有训练样本的…

python中的列表、元组、字典、集合(集合篇)

数据类型定义符号访问元素是否可变是否重复是否有序列表 [ ]索引可变可重复有序元组()索引不可变可重复有序字典{key:value}键可变可重复无序集合{ }可变不可重复无序 基本概念 python语言中的集合是无序的、可变的容器类对象,所…

4.16作业

1.总结keil5下载代码和编译代码需要注意的事项 一、在编译代码时需要先点击魔术棒点击 修改flash Downlond 和pack 二、可以通过F12转跳到对应的函数中,查看函数的原型 三、注释出现乱码通过 Edit中的中的来修改 四、要先bulid在load 2.总结STM32Cubemx的使用方…