在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 bionic/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
編輯MongoDB配置文件 /etc/mongod.conf
,確保以下配置項正確設置:
storage:
dbPath: /var/lib/mongodb
journal:
enabled: true
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
net:
port: 27017
bindIp: 0.0.0.0 # 允許所有IP訪問,生產環境中建議限制IP
replication:
replSetName: rs0 # 復制集名稱
啟動MongoDB服務
在所有節點上啟動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
。
通過以上步驟,你應該能夠在Ubuntu上成功搭建一個MongoDB復制集。根據實際需求,你可以進一步配置副本集的高級特性,如優先級、隱藏節點等。