不知道你們在使用MongoDB的時候有沒有遇到忽然想要一個集羣可是手邊又沒有的時候?特別是我已經升級到4.0了,忽然想要一個3.2的集羣怎麼辦?而後去下載,改配置文件,啓動,修改複製集,添加分片,一番折騰弄好了連本身想幹什麼都忘了。
本文中咱們就來聊一聊如何使用mlaunch和m兩個工具快速搭建一個MongoDB測試集羣。html
注意:mlaunch的目的旨在爲咱們快速搭建測試環境,絕對不該該用於生產環境的使用上。node
mtools是用於MongoDB的一系列工具,mlaunch就是其中用於快速啓動MongoDB的一部分。其他部分大多用於日誌分析,對DBA十分有用,牆裂建議DBA看看mtools的Blog瞭解用法。很少說,mtools的安裝很簡單,使用pip便可:git
pip install mtools
固然也能夠從源碼安裝,有興趣的話參考文檔:Installation。github
m是一個用於管理MongoDB版本的工具。簡單來講,它能夠幫你安裝指定的MongoDB版本。位於Github上的m代碼庫。簡單地安裝可使用npm:npm
npm install -g m
一樣支持從源碼安裝,參考文檔:Installationbash
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條命令就能夠開始使用了,有沒有很方便?code
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`