论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
数据库
›
Nosql
›
轻松掌握组件启动之MongoDB(番外篇):高可用复制集架 ...
轻松掌握组件启动之MongoDB(番外篇):高可用复制集架构环境搭建-mtools ...
我可以不吃啊
金牌会员
|
2023-11-7 01:18:41
|
来自手机
|
显示全部楼层
|
阅读模式
楼主
主题
906
|
帖子
906
|
积分
2718
引言
在前两章节中,我们详细讲解了如何手动配置启动MongoDB。然而,现在有许多不同的工具可以帮助我们更方便地启动和创建MongoDB数据库。因此,今天我将介绍一个名为mtools的开源项目,它可以帮助我们更轻松地启动MongoDB。
mtools介绍
官方文档地址:
mtools
mtools是一个基于Python实现的MongoDB工具集,旨在提供一系列功能,包括MongoDB日志分析、报表生成以及简易的数据库安装等。该工具集由MongoDB原生的工程师单独发起并进行开源维护,目前已经吸引了大量的用户。
mtools包含了一些常用的组件,下面是其中一些组件的介绍:
mlaunch:这个组件能够快速搭建本地测试环境,无论是单机、副本集还是分片集群,都可以轻松实现。
mlogfilter:这个组件用于对MongoDB日志进行过滤,支持按时间检索慢查询和全表扫描操作,同时还支持通过多个属性进行信息过滤,并可以将结果输出为JSON格式。
mplotqueries:这个组件能够将日志分析结果转换为图表形式,它依赖于tkinter(Python图形模块)和matplotlib模块,可以方便地进行数据可视化。
mlogvis:这个组件可以将日志分析结果转换为一个独立的HTML页面,实现了与mplotqueries相同的功能。
ToolsDescriptionmlogfilter合并、分割日志文件,过滤慢查询,集合扫描,格式转换等mloginfo统计日志内的数据库信息(启停、连接、集群状态等)mplotqueries日志转化为图表形式mlogvis日志转化为HTML页面,与mplotqueries类似mlaunch快速搭建本地测试环境(单机、集群、分片)
安装mtools
环境准备
为了使用mtools,您需要确保在Path路径中包含MongoDB的二进制程序所在的目录{MONGODB_HOME}/bin。此外,还需要安装Python环境,并选择安装Python 3.7、3.8或3.9版本。如果您正在Centos7上进行安装,可以安装Python 3.9。
pip安装
安装依赖
pip3 install python-dateutil
pip3 install psutil pymongo
复制代码
安装mtools
pip3 install mtools
通过源码安装
源码地址:https://github.com/rueckstiess/mtools/releases/tag/v1.6.4
wget https://github.com/rueckstiess/mtools/archive/refs/tags/v1.6.4.tar.gz
#解压后进入mtools
python setup.py install
复制代码
使用mtools创建复制集
#准备复制集使用的工作目录
mkdir -p /data/mongo
cd /data/mongo
#初始化3节点复制集
mlaunch init --replicaset --nodes 3
复制代码
端口默认从27017开始,依次为2017,27018,27019
查看当前复制集状态
mongo --port 27017
replset:PRIMARY> rs.status()
复制代码
使用mtools创建分片集群
#准备分片集群使用的工作目录
mkdir /data/mongo-cluster
cd /data/mongo-cluster/
#执行mlaunch init初始化集群
mlaunch init --sharded 2 --replicaset --node 3 --config 3 --csrs --mongos 3 --port 27050
复制代码
选项说明
sharded 2:启用分片集群模式,分片数为2。
replicaset --nodes 3:采用3节点的复制集架构,即每个分片为一致的复制集模式。
config 3 --csrs:配置服务器采用3节点的复制集架构模式,--csrs是指Config Server as a Replica Set
mongos 3:启动3个mongos实例进程。
port 27050:集群将以27050作为起始端口,集群中的各个实例的端口号基于该值递增。
noauth:不启用鉴权功能。
arbiter:向复制集中添加一个额外的仲裁器。
single:创建单个独立节点。
dir:指定数据目录,默认为./data。
binarypath:如果环境中已经存在MongoDB的二进制文件,则不需要指定该选项。
如果安装成功,稍等片刻后,你将会看到以下输出:
检查分片实例
mlaunch list命令可以对当前集群的实例状态进行检查
此时您可以通过查看各个实例的运行状态来获取更多信息,包括每个实例的进程号和监听的端口等。
#显示标签
mlaunch list --tags
#显示启动命令
mlaunch list --startup
复制代码
连接mongos,查看分片实例的情况
mongo --port 27050
mongos> db.adminCommand({listShards:1})
复制代码
停止、启动
如果希望停止集群,则可以使用mlaunch stop命令
想要再次启动集群,可以使用mlaunch start命令
使用mtools搭建测试集群是一个非常方便且高效的方式。相比手工搭建,它能够大大减少时间和精力的投入。通过mtools,您可以快速创建一个测试环境,而不需要手动安装和配置各种软件和组件。
总结
mtools是一个基于Python实现的MongoDB工具集,旨在提供一系列功能,包括MongoDB日志分析、报表生成以及简易的数据库安装等。它由MongoDB原生的工程师单独发起并进行开源维护。mtools包含了一些常用的组件,如mlaunch、mlogfilter、mplotqueries和mlogvis等,可以帮助我们更方便地启动和创建MongoDB数据库。而不需要手动安装和配置各种软件和组件。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
我可以不吃啊
金牌会员
这个人很懒什么都没写!
楼主热帖
如何编写一个高效的Testbench? ...
微信小程序
HeadPose Estimation头部姿态估计头部 ...
Linux 之 shell 编程
【笔者感悟】笔者的学习心得【七】 ...
接口测试测什么?这篇文章告诉你 ...
CVE-2015-5254漏洞复现
Typora+PicGo+阿里云OSS搭建博客图床( ...
Python 将 docx 转为 PDF
【必知必会的MySQL知识】①初探MySQL ...
标签云
挺好的
服务器
快速回复
返回顶部
返回列表