centos

centos mongodb复制集配置指南

小樊
35
2025-07-26 18:16:26
栏目: 云计算

在CentOS上配置MongoDB复制集(Replica Set)可以提供高可用性和数据冗余。以下是一个基本的步骤指南,帮助你在CentOS上配置MongoDB复制集:

前提条件

步骤

  1. 安装MongoDB 如果你还没有安装MongoDB,可以使用以下命令进行安装:

    sudo yum install -y mongodb-org
    
  2. 配置MongoDB 在每个节点上编辑MongoDB配置文件(通常是 /etc/mongod.conf),添加或修改以下内容:

    storage:
      dbPath: /var/lib/mongo
      journal:
        enabled: true
    systemLog:
      destination: file
      logAppend: true
      path: /var/log/mongodb/mongod.log
    net:
      port: 27017
      bindIp: <节点IP地址>
    replication:
      replSetName: <复制集名称>
    

    例如,如果你有三个节点,IP地址分别是192.168.1.1, 192.168.1.2, 192.168.1.3,复制集名称是rs0,那么配置文件应该如下:

    net:
      port: 27017
      bindIp: 192.168.1.1
    replication:
      replSetName: rs0
    

    在每个节点上重复上述步骤,但确保 bindIpreplSetName 正确配置。

  3. 重启MongoDB服务 在每个节点上重启MongoDB服务以应用配置更改:

    sudo systemctl restart mongod
    
  4. 初始化复制集 连接到其中一个MongoDB实例并初始化复制集:

    mongo --host <节点IP地址>
    

    在Mongo shell中执行以下命令:

    rs.initiate(
      {
        _id: "rs0",
        members: [
          { _id: 0, host: "<节点IP地址>:27017" },
          { _id: 1, host: "<节点IP地址>:27017" },
          { _id: 2, host: "<节点IP地址>:27017" }
        ]
      }
    )
    

    例如:

    rs.initiate(
      {
        _id: "rs0",
        members: [
          { _id: 0, host: "192.168.1.1:27017" },
          { _id: 1, host: "192.168.1.2:27017" },
          { _id: 2, host: "192.168.1.3:27017" }
        ]
      }
    )
    
  5. 验证复制集状态 在Mongo shell中执行以下命令来验证复制集的状态:

    rs.status()
    

    你应该看到所有节点都列在复制集中,并且状态是 SECONDARYPRIMARY

注意事项

通过以上步骤,你应该能够在CentOS上成功配置MongoDB复制集。

0
看了该问题的人还看了