配置Ubuntu MongoDB副本集涉及幾個步驟,包括安裝MongoDB、啟動MongoDB服務、初始化副本集以及添加成員。以下是詳細的步驟指南:
首先,確保你的Ubuntu系統是最新的:
sudo apt update
sudo apt upgrade
然后,導入MongoDB官方GPG密鑰:
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
創建一個列表文件以添加MongoDB倉庫:
echo "deb [ arch=amd64,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
更新包列表并安裝MongoDB:
sudo apt update
sudo apt install -y mongodb-org
啟動MongoDB服務并設置開機自啟:
sudo systemctl start mongod
sudo systemctl enable mongod
首先,連接到MongoDB shell:
mongo
在MongoDB shell中,初始化副本集。假設你有三個節點,分別運行在不同的服務器上,IP地址分別為192.168.1.101
, 192.168.1.102
, 和 192.168.1.103
。
rs.initiate(
{
_id: "myReplSet",
members: [
{ _id: 0, host: "192.168.1.101:27017" },
{ _id: 1, host: "192.168.1.102:27017" },
{ _id: 2, host: "192.168.1.103:27017" }
]
}
)
在MongoDB shell中,使用以下命令驗證副本集的狀態:
rs.status()
你應該看到所有節點都顯示為SECONDARY
或PRIMARY
,并且副本集狀態為PRIMARY
。
你可以根據需要配置副本集選項,例如設置優先級、隱藏節點等。以下是一個示例配置:
cfg = rs.conf()
cfg.members[0].priority = 2
cfg.members[1].priority = 1
cfg.members[2].priority = 1
rs.reconfig(cfg)
確保你的防火墻允許MongoDB端口(默認是27017)的流量。例如,使用ufw
:
sudo ufw allow 27017
定期監控副本集的健康狀況,并根據需要進行維護。你可以使用MongoDB自帶的工具或第三方監控工具來監控副本集的狀態。
通過以上步驟,你應該能夠在Ubuntu上成功配置MongoDB副本集。