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

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

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


一、部署背景

由于业务系统的特殊性,我们需要面向不通的客户安装我们的业务系统,而作为基础组件中的mongodb针对不同的客户环境需要多次部署哨兵集群,作为一个运维工程师,提升工作效率也是工作中的重要一环。所以我觉得有必要针对 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副本集群,分布式集群是指在不同主机上部署mongodb副本集群。

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系统运维指南》

  • 19
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东城绝神

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值