在前兩章節中,我們詳細講解了如何手動設定啟動MongoDB。然而,現在有許多不同的工具可以幫助我們更方便地啟動和建立MongoDB資料庫。因此,今天我將介紹一個名為mtools的開源專案,它可以幫助我們更輕鬆地啟動MongoDB。
官方檔案地址:mtools
mtools是一個基於Python實現的MongoDB工具集,旨在提供一系列功能,包括MongoDB紀錄檔分析、報表生成以及簡易的資料庫安裝等。該工具集由MongoDB原生的工程師單獨發起並進行開源維護,目前已經吸引了大量的使用者。
mtools包含了一些常用的元件,下面是其中一些元件的介紹:
Tools | Description |
---|---|
mlogfilter | 合併、分割紀錄檔檔案,過濾慢查詢,集合掃描,格式轉換等 |
mloginfo | 統計紀錄檔內的資料庫資訊(啟停、連線、叢集狀態等) |
mplotqueries | 紀錄檔轉化為圖表形式 |
mlogvis | 紀錄檔轉化為HTML頁面,與mplotqueries類似 |
mlaunch | 快速搭建本地測試環境(單機、叢集、分片) |
為了使用mtools,您需要確保在Path路徑中包含MongoDB的二進位制程式所在的目錄{MONGODB_HOME}/bin。此外,還需要安裝Python環境,並選擇安裝Python 3.7、3.8或3.9版本。如果您正在Centos7上進行安裝,可以安裝Python 3.9。
安裝依賴
pip3 install python-dateutil
pip3 install psutil pymongo
安裝mtools
pip3 install mtools
原始碼地址:https://github.com/rueckstiess/mtools/releases/tag/v1.6.4
wget https://github.com/rueckstiess/mtools/archive/refs/tags/v1.6.4.tar.gz
#解壓後進入mtools
python setup.py install
#準備複製集使用的工作目錄
mkdir -p /data/mongo
cd /data/mongo
#初始化3節點複製集
mlaunch init --replicaset --nodes 3
埠預設從27017開始,依次為2017,27018,27019
檢視當前複製集狀態
mongo --port 27017
replset:PRIMARY> rs.status()
#準備分片叢集使用的工作目錄
mkdir /data/mongo-cluster
cd /data/mongo-cluster/
#執行mlaunch init初始化叢集
mlaunch init --sharded 2 --replicaset --node 3 --config 3 --csrs --mongos 3 --port 27050
選項說明
sharded 2
:啟用分片叢集模式,分片數為2。replicaset --nodes 3
:採用3節點的複製集架構,即每個分片為一致的複製集模式。config 3 --csrs
:設定伺服器採用3節點的複製集架構模式,--csrs是指Config Server as a Replica Setmongos 3
:啟動3個mongos範例程序。port 27050
:叢集將以27050作為起始埠,叢集中的各個範例的埠號基於該值遞增。noauth
:不啟用鑑權功能。arbiter
:向複製集中新增一個額外的仲裁器。single
:建立單個獨立節點。dir
:指定資料目錄,預設為./data。binarypath
:如果環境中已經存在MongoDB的二進位制檔案,則不需要指定該選項。如果安裝成功,稍等片刻後,你將會看到以下輸出:
mlaunch list
命令可以對當前叢集的範例狀態進行檢查
此時您可以通過檢視各個範例的執行狀態來獲取更多資訊,包括每個範例的程序號和監聽的埠等。
#顯示標籤
mlaunch list --tags
#顯示啟動命令
mlaunch list --startup
mongo --port 27050
mongos> db.adminCommand({listShards:1})
如果希望停止叢集,則可以使用mlaunch stop
命令
想要再次啟動叢集,可以使用mlaunch start
命令
使用mtools搭建測試叢集是一個非常方便且高效的方式。相比手工搭建,它能夠大大減少時間和精力的投入。通過mtools,您可以快速建立一個測試環境,而不需要手動安裝和設定各種軟體和元件。
mtools是一個基於Python實現的MongoDB工具集,旨在提供一系列功能,包括MongoDB紀錄檔分析、報表生成以及簡易的資料庫安裝等。它由MongoDB原生的工程師單獨發起並進行開源維護。mtools包含了一些常用的元件,如mlaunch、mlogfilter、mplotqueries和mlogvis等,可以幫助我們更方便地啟動和建立MongoDB資料庫。而不需要手動安裝和設定各種軟體和元件。