在Ubuntu上搭建MongoDB集群,通常需要以下幾個步驟:
首先,你需要在所有節點上安裝MongoDB。你可以使用以下命令來安裝MongoDB:
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
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
sudo apt-get update
sudo apt-get install -y mongodb-org
在每個節點上配置MongoDB。編輯/etc/mongod.conf
文件,確保以下配置:
net.bindIp
:設置為服務器的IP地址或0.0.0.0
以允許所有IP連接。replication.replSetName
:設置復制集的名稱。例如:
net:
port: 27017
bindIp: 0.0.0.0
replication:
replSetName: rs0
在所有節點上啟動MongoDB服務:
sudo systemctl start mongod
sudo systemctl enable mongod
連接到任意一個MongoDB實例并初始化復制集:
mongo --host <node1_ip> --port 27017
在Mongo shell中執行以下命令:
rs.initiate(
{
_id: "rs0",
members: [
{ _id: 0, host: "<node1_ip>:27017" },
{ _id: 1, host: "<node2_ip>:27017" },
{ _id: 2, host: "<node3_ip>:27017" }
]
}
)
將<node1_ip>
, <node2_ip>
, <node3_ip>
替換為實際的節點IP地址。
在Mongo shell中執行以下命令來驗證復制集的狀態:
rs.status()
你應該看到所有節點都處于SECONDARY
或PRIMARY
狀態。
確保防火墻允許MongoDB的端口(默認是27017)通信。你可以使用以下命令來打開端口:
sudo ufw allow 27017
定期監控集群的健康狀況,并根據需要進行維護。你可以使用MongoDB自帶的監控工具或第三方工具來監控集群。
通過以上步驟,你應該能夠在Ubuntu上成功搭建一個MongoDB集群。