使用mlaunch和m快速搭建MongoDB測試集羣

前言

不知道你們在使用MongoDB的時候有沒有遇到忽然想要一個集羣可是手邊又沒有的時候?特別是我已經升級到4.0了,忽然想要一個3.2的集羣怎麼辦?而後去下載,改配置文件,啓動,修改複製集,添加分片,一番折騰弄好了連本身想幹什麼都忘了。
本文中咱們就來聊一聊如何使用mlaunch和m兩個工具快速搭建一個MongoDB測試集羣。html

注意:mlaunch的目的旨在爲咱們快速搭建測試環境,絕對不該該用於生產環境的使用上。node

準備工做

安裝mtools

mtools是用於MongoDB的一系列工具,mlaunch就是其中用於快速啓動MongoDB的一部分。其他部分大多用於日誌分析,對DBA十分有用,牆裂建議DBA看看mtools的Blog瞭解用法。很少說,mtools的安裝很簡單,使用pip便可:git

pip install mtools

固然也能夠從源碼安裝,有興趣的話參考文檔:Installationgithub

安裝m

m是一個用於管理MongoDB版本的工具。簡單來講,它能夠幫你安裝指定的MongoDB版本。位於Github上的m代碼庫。簡單地安裝可使用npm:npm

npm install -g m

一樣支持從源碼安裝,參考文檔:Installationbash

開始使用

mlaunch的詳細使用文檔能夠查看此處,很是簡單明瞭。一般分爲幾個步驟:工具

  1. 初始化:mlaunch init
  2. 啓動或中止: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`
相關文章
相關標籤/搜索