资讯专栏INFORMATION COLUMN

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

wangzy2019 / 1132人阅读

摘要:本文中我们就来聊一聊如何使用和两个工具快速搭建一个测试集群。注意的目的旨在为我们快速搭建测试环境,绝对不应该用于生产环境的使用上。准备工作安装是用于的一系列工具,就是其中用于快速启动的一部分。以下这些参数是我们经常使用的启动一个复制集。

前言

不知道大家在使用MongoDB的时候有没有遇到突然想要一个集群但是手边又没有的时候?特别是我已经升级到4.0了,突然想要一个3.2的集群怎么办?然后去下载,改配置文件,启动,修改复制集,添加分片,一番折腾弄好了连自己想干什么都忘了。
本文中我们就来聊一聊如何使用mlaunch和m两个工具快速搭建一个MongoDB测试集群。

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

准备工作 安装mtools

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

pip install mtools

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

安装m

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

npm install -g m

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

开始使用

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

初始化:mlaunch init

启动或停止:mlaunch start/stop

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

--replicaset:启动一个复制集。如果配合--sharded 使用,则表示每个片是一个复制集;

--name:复制集名字;

--nodes N:在启动复制集的时候这个参数可以指定节点个数,后跟数字;

--sharded:启动一个分片集。后面如果跟数字则是片数。如果跟多个字符串,则是每个片的名字;

--port PORT:起始端口。后面每个实例端口+1;

--binarypath:在这个目录中寻找可执行的mongod;

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

# 启动一个复制集
> mkdir -p replica && cd replica
> mlaunch --replicaset --nodes 3 --port 29017
# 启动一个分片集
> mkdir -p sharding && cd sharding
> mlaunch --replicaset --nodes 3 --port 29017 --sharded 2

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

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

# 安装4.0.0
> m 4.0.0
# 安装3.4的最新版本
> m 3.4
# 获取3.4安装后所在的目录
> m bin 3.4

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

# 启动一个3.2的复制集
> mkdir -p replica && cd replica
> mlaunch --replicaset --nodes 3 --port 29017 --binarypath `m bin 3.2`
# 启动一个3.4版本的分片集
> mkdir -p sharding && cd sharding
> mlaunch --replicaset --nodes 3 --port 29017 --sharded 2 --binarypath `m bin 3.4`

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/19314.html

相关文章

  • mtools-MongoDB慢日志文件分析工具

    一、mtools工具集介绍1.1 mtools工具集是什么?开源地址介绍:https://github.com/rueckstiess/mtoolsmtools是一组工具集脚本,用于解析、过滤和可视化 MongoDB 日志文件 ( mongod, mongos)。mtools也包含mlaunch工具,该工具可以快速搭建本地测试环境。mtransfer工具可以用于数据库之间数据传输。1.2 mtoo...

    社区管理员 评论0 收藏0
  • 墙裂推荐:搜云库技术团队,面试必备的技术干货

    摘要:今天整理了一下近大半年以来的一些文章,和我的预期一样,很多文章我都忘记自己曾经写过了,这个记录的过程让我也有了新的理解。希望大家,收藏,点赞,加转发。 今天整理了一下近大半年以来的一些文章,和我的预期一样,很多文章我都忘记自己曾经写过了,这个记录的过程让我也有了新的理解。希望大家,收藏,点赞,加转发。 面试必备 面试必备:深入Spring MVC DispatchServlet 源码...

    SegmentFault 评论0 收藏0
  • 墙裂推荐:搜云库技术团队,面试必备的技术干货

    摘要:今天整理了一下近大半年以来的一些文章,和我的预期一样,很多文章我都忘记自己曾经写过了,这个记录的过程让我也有了新的理解。希望大家,收藏,点赞,加转发。 今天整理了一下近大半年以来的一些文章,和我的预期一样,很多文章我都忘记自己曾经写过了,这个记录的过程让我也有了新的理解。希望大家,收藏,点赞,加转发。 面试必备 面试必备:深入Spring MVC DispatchServlet 源码...

    Neilyo 评论0 收藏0
  • MongoDB副本集搭建

    摘要:下一小节我会和大家分享如何在真实的生产环境中创建副本集。好了,中副本集的搭建我们就先说到这里,小伙伴们有问题欢迎留言讨论。 我们之前的案例都是在单个节点上实现的,在生产环境中这种做法是有风险的,如果服务宕机、崩溃或者硬盘坏了都会对公司业务造成损失,因此我们需要数据备份。在MongoDB中我们可以通过副本集来实现这一需求,MongoDB副本集(Replica Set)是有自动故障恢复功能...

    RayKr 评论0 收藏0
  • 两年了,我写了这些干货!

    摘要:开公众号差不多两年了,有不少原创教程,当原创越来越多时,大家搜索起来就很不方便,因此做了一个索引帮助大家快速找到需要的文章系列处理登录请求前后端分离一使用完美处理权限问题前后端分离二使用完美处理权限问题前后端分离三中密码加盐与中异常统一处理 开公众号差不多两年了,有不少原创教程,当原创越来越多时,大家搜索起来就很不方便,因此做了一个索引帮助大家快速找到需要的文章! Spring Boo...

    宋华 评论0 收藏0

发表评论

0条评论

wangzy2019

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<