使用mlaunch和m快速搭建MongoDB测试集群

前 言

不知道大家在使用MongoDB的时候有没有遇到突然想要一个集群但是手边又没有的时候?特别是我已经升级到4.0了,突然想要一个3.2的集群怎么办?然后去下载,改配置文件,启动,修改复制集,添加分片,一番折腾弄好了连自己想干什么都忘了。

本文中我们就来聊一聊如何使用mlaunch和m两个工具快速搭建一个MongoDB测试集群。

准备工作

01

安装mtools

mtools是用于MongoDB 的一系列工具,mlaunch就是其中用于快速启动MongoDB的一部分。其余部分大多用于日志分析,对DBA十分有用,墙裂建议DBA看看mtools的Blog了解用法。不多说,mtools的安装很简单,使用pip即可:

pip install mtools

当然也可以从源码安装,有兴趣的话参考文档:Installation

02

安装m

m是一个用于管理MongoDB版本的工具。简单来说,它可以帮你安装指定的MongoDB版本。位于Github上的m代码库。简单地安装可以使用npm:

npm install -g m

同样支持从源码安装,参考文档:Installation

开始使用

mlaunch的详细使用文档可以查看此处,非常简单明了。通常分为几个步骤:

1. 初始化:mlaunch init

2. 启动或停止:mlaunch start/stop

启动或停止没什么好讲的,所有机关都在init步骤。以下这些参数是我们经常使用的:

  • replicaset:启动一个复制集。如果配合--sharded 使用,则表示每个片是一个复制集;
  • name:复制集名字;
  • nodes N:在启动复制集的时候这个参数可以指定节点个数,后跟数字;
  • sharded:启动一个分片集。后面如果跟数字则是片数。如果跟多个字符串,则是每个片的名字;
  • port PORT:起始端口。后面每个实例端口+1;
  • binarypath:在这个目录中寻找可执行的MongoDB;

以上参数应该已经可以覆盖到绝大部分使用场景了。举例如下:

简单2条命令就可以开始使用了,有没有很方便?

m的使用就更简单了,举几个例子就明白:

有了m配合mlaunch的--binarypath参数,就可以随时随地启动任意版本的MongoDB集群了:

注意:mlaunch的目的旨在为我们快速搭建测试环境,绝对不应该用于生产环境的使用上。

作者:张耀星

  • MongoDB大中华区高级咨询顾问
  • MongoDB中文社区联席主席

原文发布于微信公众号 - Mongoing中文社区(mongoing-mongoing)

原文发表时间:2018-07-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏人工智能头条

数据科学家必知的21个命令

10310
来自专栏电光石火

使用Maven创建web项目

使用eclipse插件创建一个web project 首先创建一个Maven的Project如下图 ? 我们勾选上Create a simple ...

359100
来自专栏电光石火

使用Maven创建web项目

​使用eclipse插件创建一个web project

24080
来自专栏黑泽君的专栏

linux基本命令学习02

============================================================================= a....

20510
来自专栏张戈的专栏

Llinux文件目录权限及chmod命令简析

这些天,在互推联盟群(344134224 )遇到几例关于 WP 升级失败以及 FTP 账号登陆的问题。最终发现都是主机的目录权限设置存在问题。比如,博友【PPT...

46460
来自专栏

从I/O复用谈epoll为什么高效

上一篇文章中,谈了一些网络编程的基本概念。在现实使用中,用的最多的就是I/O复用了,无非就是select,poll,epoll 很多人提到网络就说epoll,认...

22880
来自专栏zaking's

走近webpack(2)--css打包及压缩js

  前面的文章介绍了webpack的devServer以及多入口多出口文件的配置,咱们继续往下学。   在开始学习接下来的知识之前,我们先回顾一下,前文提到了w...

52680
来自专栏java一日一条

HttpInvoker运作原理

HttpInvoker是常用的Java同构系统之间方法调用实现方案,是众多Spring项目中的一个子项目。顾名思义,它通过HTTP通信即可实现两个Java系统之...

15250
来自专栏腾讯移动品质中心TMQ的专栏

Jest基本使用方法以及mock技巧介绍

Jest是由Facebook开发并维护的一套js的单元测试框架,之前在后台的nodejs项目里面第一次尝试使用,感觉还是非常容易上手的,功能也比较强大。

1.2K50
来自专栏北京马哥教育

Linux系统命令和使用技巧8则

我们在平时使用 Linux 系统时,无论在终端下还是在图形桌面下,都有一些快捷的命令和操作的技巧,本文就向新手简单介绍常用的几种: 1、处理特殊的文件名 假设L...

42480

扫码关注云+社区

领取腾讯云代金券