centos

MongoDB复制集如何在CentOS上设置

小樊
41
2025-07-12 14:37:49
栏目: 云计算

在CentOS上设置MongoDB复制集涉及几个步骤,包括安装MongoDB、配置复制集以及启动MongoDB服务。以下是一个详细的指南:

1. 安装MongoDB

首先,确保你的CentOS系统已经更新到最新状态:

sudo yum update -y

然后,添加MongoDB官方YUM仓库:

sudo cat <<EOF > /etc/yum.repos.d/mongodb-org.repo
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/\$releasever/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
EOF

安装MongoDB:

sudo yum install -y mongodb-org

2. 启动MongoDB服务

启动MongoDB服务并设置开机自启动:

sudo systemctl start mongod
sudo systemctl enable mongod

3. 配置复制集

假设你有三个MongoDB实例,分别运行在不同的服务器上,IP地址分别为192.168.1.1192.168.1.2192.168.1.3

在每个服务器上编辑MongoDB配置文件

编辑/etc/mongod.conf文件,添加或修改以下内容:

replication:
  replSetName: "rs0"

重启MongoDB服务

在每个服务器上重启MongoDB服务以应用配置更改:

sudo systemctl restart mongod

初始化复制集

连接到任意一个MongoDB实例并初始化复制集。例如,连接到192.168.1.1上的MongoDB实例:

mongo --host 192.168.1.1

在Mongo shell中执行以下命令来初始化复制集:

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" }
    ]
  }
)

4. 验证复制集状态

在Mongo shell中执行以下命令来验证复制集的状态:

rs.status()

你应该看到所有成员的状态都是SECONDARYPRIMARY,并且复制集已经成功初始化。

5. 添加更多成员(可选)

如果你需要添加更多的成员到复制集中,可以使用以下命令:

rs.add("192.168.1.4:27017")

6. 监控复制集

你可以使用MongoDB的监控工具来监控复制集的状态和性能。例如,使用mongostatmongotop工具:

sudo yum install -y mongodb-org-shell
mongostat
mongotop

通过以上步骤,你应该能够在CentOS上成功设置MongoDB复制集。如果有任何问题,请检查日志文件/var/log/mongodb/mongod.log以获取更多信息。

0
看了该问题的人还看了