溫馨提示×

如何配置CentOS MongoDB的復制集

小樊
65
2025-03-19 14:13:25
欄目: 云計算

配置CentOS MongoDB的復制集涉及幾個步驟,包括設置MongoDB實例、配置復制集參數以及啟動復制集。以下是一個基本的指南:

1. 安裝MongoDB

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

sudo yum install -y mongodb-org

2. 啟動MongoDB服務

安裝完成后,啟動MongoDB服務并設置開機自啟動:

sudo systemctl start mongod
sudo systemctl enable mongod

3. 配置MongoDB實例

為了創建復制集,你需要至少三個MongoDB實例。每個實例可以運行在不同的服務器上,或者在同一個服務器上使用不同的端口。以下是一個示例配置文件 /etc/mongod.conf

實例1(Primary)

storage:
  dbPath: /var/lib/mongo
  journal:
    enabled: true

systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

net:
  port: 27017
  bindIp: 127.0.0.1,your_server_ip

實例2(Secondary)

storage:
  dbPath: /var/lib/mongo
  journal:
    enabled: true

systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

net:
  port: 27018
  bindIp: 127.0.0.1,your_server_ip

實例3(Secondary)

storage:
  dbPath: /var/lib/mongo
  journal:
    enabled: true

systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

net:
  port: 27019
  bindIp: 127.0.0.1,your_server_ip

4. 啟動MongoDB實例

使用配置文件啟動每個MongoDB實例:

sudo mongod --config /etc/mongod.conf

5. 初始化復制集

連接到其中一個MongoDB實例并初始化復制集。假設你連接到第一個實例(端口27017):

mongo --port 27017

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

rs.initiate(
  {
    _id: "rs0",
    members: [
      { _id: 0, host: "your_server_ip:27017" },
      { _id: 1, host: "your_server_ip:27018" },
      { _id: 2, host: "your_server_ip:27019" }
    ]
  }
)

6. 驗證復制集狀態

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

rs.status()

你應該看到所有成員的狀態都是SECONDARYPRIMARY,并且復制集已經成功初始化。

7. 配置優先級(可選)

你可以配置每個成員的優先級,以控制哪個成員成為Primary。例如,設置第一個實例的優先級為2,第二個和第三個實例的優先級為1:

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

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

你可以配置隱藏節點和延遲節點來滿足特定的需求。例如,創建一個延遲3600秒的延遲節點:

cfg = rs.conf()
cfg.members.push(
  {
    _id: 3,
    host: "your_server_ip:27020",
    priority: 0,
    hidden: true,
    slaveDelay: 3600
  }
)
rs.reconfig(cfg)

通過以上步驟,你應該能夠在CentOS上成功配置MongoDB的復制集。

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