在Ubuntu上配置MongoDB集群涉及多個步驟,包括安裝、配置、啟動各個組件以及設置副本集和分片。以下是一個基本的指南:
在Ubuntu上安裝MongoDB的步驟如下:
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
對于Ubuntu 22.04/20.04:
echo "deb [ archamd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
對于Ubuntu 18.04:
echo "deb [ archamd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
sudo apt update
sudo apt install -y mongodb-org
安裝完成后,MongoDB服務應該會自動啟動。你可以使用以下命令檢查服務狀態:
sudo systemctl status mongodb
如果服務未啟動,可以使用以下命令啟動它:
sudo systemctl start mongodb
你可以通過運行 mongo 命令來啟動MongoDB shell,并驗證安裝是否成功。
mongo
請注意,以上步驟適用于MongoDB 4.4版本。如果你需要安裝特定版本的MongoDB,請根據實際需求調整命令中的版本號。
編輯config server的配置文件:
sudo vim /etc/mongodb/config.conf
內容如下:
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/config.log
storage:
dbPath: /data/db
journal:
enabled: true
processManagement:
fork: true
pidFilePath: /var/run/mongodb/mongod.pid
net:
port: 21000
bindIp: 0.0.0.0
啟動config server:
sudo mongod --config /etc/mongodb/config.conf
初始化config server副本集:
mongo --host 10.10.3.134 --port 21000
在mongo shell中執行:
config = {_id : "config", members : [{_id : 0, host : "10.10.3.134:21000" }, {_id : 1, host : "10.10.3.135:21000" }, {_id : 2, host : "10.10.3.136:21000" }]}
rs.initiate(config)
編輯shard1的配置文件:
sudo vim /etc/mongodb/shard1.conf
內容如下:
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/shard1.log
storage:
dbPath: /data/db
journal:
enabled: true
啟動shard1:
sudo mongod --config /etc/mongodb/shard1.conf
編輯mongos的配置文件:
sudo vim /etc/mongodb/mongos.conf
內容如下:
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongos.log
storage:
dbPath: /data/db
journal:
enabled: true
sharding:
clusterRole: configsvr
啟動mongos:
sudo mongos --configdb 10.10.3.134:21000,10.10.3.135:21000,10.10.3.136:21000 --port 20000
在mongos shell中添加shard:
mongo --host 10.10.3.134 --port 20000
sh.addShard("10.10.3.134:27001")
sh.addShard("10.10.3.135:27002")
sh.addShard("10.10.3.136:27003")
使用以下命令驗證集群狀態:
mongo --host 10.10.3.134 --port 20000
sh.status()
以上步驟提供了一個基本的MongoDB集群搭建流程。根據實際需求,你可能需要調整配置和增加更多的節點。