在Linux上实现MongoDB复制集(Replica Set)的步骤如下:
首先,确保你已经在所有节点上安装了MongoDB。你可以从MongoDB官方网站下载并安装适合你Linux发行版的MongoDB版本。
sudo apt-get update
sudo apt-get install -y mongodb-org
在每个节点上编辑MongoDB配置文件(通常是/etc/mongod.conf),添加或修改以下内容:
net:
  port: 27017
storage:
  dbPath: /var/lib/mongodb
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log
replication:
  replSetName: rs0
net:
  port: 27017
storage:
  dbPath: /var/lib/mongodb
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log
replication:
  replSetName: rs0
在每个节点上启动MongoDB服务:
sudo systemctl start mongod
sudo systemctl enable mongod
连接到主节点并初始化复制集。你可以使用mongo shell来执行这些命令。
mongo --host <primary_ip> --port 27017
在mongo shell中执行以下命令:
rs.initiate(
  {
    _id: "rs0",
    members: [
      { _id: 0, host: "<primary_ip>:27017" },
      { _id: 1, host: "<secondary_ip>:27017" },
      { _id: 2, host: "<secondary_ip>:27017" }
    ]
  }
)
将<primary_ip>替换为主节点的IP地址,将<secondary_ip>替换为从节点的IP地址。
在mongo shell中执行以下命令来验证复制集的状态:
rs.status()
你应该看到所有节点都列在复制集中,并且有一个节点被标记为PRIMARY,其他节点被标记为SECONDARY。
如果你需要添加更多的节点,可以使用以下命令:
rs.add("<new_node_ip>:27017")
将<new_node_ip>替换为新节点的IP地址。
定期监控复制集的状态,并根据需要进行维护。你可以使用MongoDB提供的工具和命令来监控复制集的健康状况。
通过以上步骤,你应该能够在Linux上成功实现MongoDB复制集。