溫馨提示×

Debian系統下MongoDB的復制集怎么搭建

小樊
91
2025-02-18 10:13:44
欄目: 云計算

在Debian系統下搭建MongoDB復制集(Replica Set)可以提供數據冗余和高可用性。以下是詳細的步驟:

1. 安裝MongoDB

首先,確保你已經在所有節點上安裝了MongoDB。你可以使用以下命令來安裝MongoDB:

sudo apt update
sudo apt install -y mongodb-org

2. 配置MongoDB

在每個節點上編輯MongoDB配置文件(通常位于 /etc/mongod.conf),確保它們有不同的 bindIpreplicaSetName 設置。

節點1(Primary)

net:
  port: 27017
  bindIp: 192.168.1.101

storage:
  dbPath: /var/lib/mongodb

replication:
  replSetName: rs0

節點2(Secondary)

net:
  port: 27017
  bindIp: 192.168.1.102

storage:
  dbPath: /var/lib/mongodb

replication:
  replSetName: rs0

節點3(Secondary)

net:
  port: 27017
  bindIp: 192.168.1.103

storage:
  dbPath: /var/lib/mongodb

replication:
  replSetName: rs0

3. 重啟MongoDB服務

在每個節點上重啟MongoDB服務以應用配置更改:

sudo systemctl restart mongod

4. 初始化復制集

連接到任意一個MongoDB實例,并初始化復制集。你可以使用 mongo shell 來執行以下命令:

mongo --host 192.168.1.101 --port 27017

mongo shell 中執行以下命令來初始化復制集:

rs.initiate(
  {
    _id: "rs0",
    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" }
    ]
  }
)

5. 驗證復制集狀態

mongo shell 中執行以下命令來驗證復制集的狀態:

rs.status()

你應該看到所有節點都列在 members 數組中,并且有一個節點被標記為 PRIMARY。

6. 配置優先級(可選)

你可以配置每個節點的優先級,以控制哪個節點成為 PRIMARY。例如,如果你想讓節點1成為 PRIMARY,可以這樣配置:

cfg = rs.conf()
cfg.members[0].priority = 2
rs.reconfig(cfg)

7. 配置隱藏節點和延遲節點(可選)

你還可以配置隱藏節點和延遲節點來滿足特定的需求。

隱藏節點

cfg = rs.conf()
cfg.members[1].hidden = true
rs.reconfig(cfg)

延遲節點

cfg = rs.conf()
cfg.members[2].priority = 0
cfg.members[2].slaveDelay = 3600  // 延遲1小時
rs.reconfig(cfg)

通過以上步驟,你應該能夠在Debian系統下成功搭建MongoDB復制集。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女