mlaunch 是 mtools工具集里面的一个组件。
mtools是一组辅助脚本,用于解析、过滤和可视化MongoDB日志文件(mongod、mongos)。mtools还包括mlaunch,一个在本地计算机上快速设置复杂的MongoDB测试环境的实用程序,以及mtransfer,一个用于在MongoDB实例之间传输数据库的工具。
地址:
https://github.com/rueckstiess/mtools
https://rueckstiess.github.io/mtools/mlaunch.html
以下工具位于 mtools 集合中:
mlogfilter 按时间对日志文件进行切片,合并日志文件,过滤慢速查询,查找 表扫描,缩短日志行,按其他属性过滤,转换为 JSON格式
mloginfo 返回有关日志文件的信息,例如开始和结束时间、版本、二进制文件、 特殊部分,如重新启动、连接、不同视图 (需要numpy)
mplotqueries 可视化具有不同类型绘图的日志文件(需要matplotlib)
mlaunch 用于快速启动本地测试环境(包括副本集)的脚本 和分片系统(需要pymongo, psutil, packaging)
mtransfer 一个实验性脚本,用于通过以下方式在MongoDB实例之间传输数据库 复制 WiredTiger 数据文件(需要pymongo和wiredtiger)
注意:除了mlaunch外,其他的几个工具都很少使用或者对高版本mongodb不兼容,因此不用去了解它们的使用方法。
$ pip install mlaunch
$ mlaunch --help
Detected mongod version: 5.0.6
usage: mlaunch [-h] [--version] [--no-progressbar] {init,start,stop,restart,list,kill} ...
script to launch MongoDB stand-alone servers, replica sets and shards.
commands:
init is the default command and can be omitted. To get help on individual commands, run mlaunch <command>
--help. Command line arguments which are not handled by mlaunch will be passed through to mongod/mongos if
those options are listed in the --help output for the current binary. For example: --storageEngine,
--logappend, or --config.
{init,start,stop,restart,list,kill}
init initialize a new MongoDB environment and start stand-alone instances, replica sets, or
sharded clusters.
start starts existing MongoDB instances. Example: "mlaunch start config" will start all config
servers.
stop stops running MongoDB instances. Example: "mlaunch stop shard 2 secondary" will stop all
secondary nodes of shard 2.
restart stops, then restarts MongoDB instances.
list list MongoDB instances of this environment.
kill kills (or sends another signal to) MongoDB instances of this environment.
options:
-h, --help show this help message and exit
--version show program's version number and exit
--no-progressbar disables progress bar
需要先安装好mongodb,并加到环境变量里面,否则mlaunch识别不到。这步操作比较简单,忽略。
创建工作目录
mkdir -pv /usr/local/software/mlaunch
cd /usr/local/software/mlaunch
查看init的可用参数
mlaunch init --help
# 创建单机mongodb
mkdir /usr/local/software/mlaunch/demo01
cd /usr/local/software/mlaunch/demo01
mlaunch init --single --port=28017 --name "single-01"
# 创建3节点的复制集,端口编号从29017开始
mkdir /usr/local/software/mlaunch/demo02
cd /usr/local/software/mlaunch/demo02
mlaunch init --replicaset --nodes=3 --port=29017 --name "cluster-01"
日志如下:
Detected mongod version: 5.0.6
launching: "mongod" on port 29017
launching: "mongod" on port 29018
launching: "mongod" on port 29019
replica set 'replset' initialized.
# 列出(实际上是读取当前目录下的data文件夹的隐藏文件.mlaunch_startup)
$ mlaunch list
Detected mongod version: 5.0.6
PROCESS PORT STATUS PID
mongod 29017 running 88243
mongod 29018 running 88589
mongod 29019 running 88924
# 创建2分片的sharding replicaset(每个replicaset单副本)
mkdir /usr/local/software/mlaunch/demo03_shards
cd /usr/local/software/mlaunch/demo03_shards
mlaunch init --replicaset --nodes 1 --sharded 2 # 默认端口从27017开始分配
# 启动(读取当前目录下的data文件夹.mlaunch_startup)
mlaunch start
# 重启(读取当前目录下的data文件夹.mlaunch_startup)
mlaunch restart
# 停止(读取当前目录下的data文件夹.mlaunch_startup)
mlaunch stop
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。