温馨提示×

mongodb集群在centos如何搭建

小樊
36
2025-11-23 19:15:02
栏目: 云计算

在CentOS上搭建MongoDB集群,你需要遵循以下步骤:

1. 准备工作

  • 硬件要求:确保你有足够的硬件资源(CPU、内存、存储)来支持集群。
  • 网络配置:确保所有节点之间可以互相通信。
  • 操作系统:确保所有节点都安装了CentOS 7或更高版本。

2. 安装MongoDB

在所有节点上安装MongoDB。你可以使用MongoDB官方提供的YUM仓库来安装。

# 导入MongoDB公钥
sudo rpm -v --import https://www.mongodb.org/static/pgp/server-4.4.asc

# 创建MongoDB YUM仓库文件
echo "[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" | sudo tee /etc/yum.repos.d/mongodb-org-4.4.repo

# 安装MongoDB
sudo yum install -y mongodb-org

3. 配置MongoDB

在每个节点上配置MongoDB。你需要编辑/etc/mongod.conf文件。

主节点(Primary)

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

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

net:
  port: 27017
  bindIp: 0.0.0.0  # 绑定所有IP地址

replication:
  replSetName: rs0  # 集群名称

从节点(Secondary)

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

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

net:
  port: 27017
  bindIp: 0.0.0.0  # 绑定所有IP地址

replication:
  replSetName: rs0  # 集群名称

4. 启动MongoDB服务

在所有节点上启动MongoDB服务。

sudo systemctl start mongod
sudo systemctl enable mongod

5. 初始化副本集

连接到主节点并初始化副本集。

mongo --host <主节点IP> --port 27017

在Mongo shell中执行以下命令:

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

6. 验证副本集

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

rs.status()

你应该看到所有节点都正常运行,并且主节点和从节点的角色正确。

7. 配置防火墙

确保防火墙允许MongoDB的端口(默认是27017)。

sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent
sudo firewall-cmd --reload

8. 监控和维护

定期监控集群的健康状况,并根据需要进行维护,例如备份、升级和扩展。

通过以上步骤,你可以在CentOS上成功搭建一个MongoDB集群。

0