ubuntu

MongoDB Ubuntu集群搭建步骤

小樊
34
2025-07-07 19:48:07
栏目: 云计算

在Ubuntu上搭建MongoDB集群涉及多个步骤,包括安装、配置、启动各个组件以及设置副本集和分片。以下是一个基本的指南:

准备工作

  1. 确保所有参与构建副本集的节点上都安装了MongoDB,并且配置了相同的MongoDB版本。
  2. 为了安全起见,副本集成员之间需要使用密钥文件进行认证。可以使用OpenSSL命令生成密钥文件,并设置适当的权限。

安装MongoDB

在Ubuntu系统上安装MongoDB,可以按照以下步骤操作:

  1. 更新包列表
sudo apt update
  1. 安装MongoDB
sudo apt install -y mongodb-org
  1. 启动MongoDB服务
sudo systemctl start mongod
  1. 设置MongoDB服务开机自启
sudo systemctl enable mongod

配置MongoDB实例

为每个节点创建存放数据、配置文件、日志的目录。

配置config server副本集

编辑config server的配置文件:

sudo vim /etc/mongodb/config.conf

内容如下:

systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/config.log
storage:
  dbPath: /data/db
  journal:
    enabled: true
processManagement:
  fork: true
  pidFilePath: /var/run/mongodb/mongod.pid
net:
  port: 21000
  bindIp: 0.0.0.0

启动config server:

sudo mongod --config /etc/mongodb/config.conf

初始化config server副本集:

mongo --host 10.10.3.134 --port 21000

在mongo shell中执行:

config = {
  _id : "config",
  members : [{_id : 0, host : "10.10.3.134:21000" }, {_id : 1, host : "10.10.3.135:21000" }, {_id : 2, host : "10.10.3.136:21000" }]
}
rs.initiate(config)

配置shard1 server副本集

编辑shard1的配置文件:

sudo vim /etc/mongodb/shard1.conf

内容如下:

systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/shard1.log
storage:
  dbPath: /data/db
  journal:
    enabled: true

启动shard1:

sudo mongod --config /etc/mongodb/shard1.conf

初始化shard1副本集:

mongo --host 10.10.3.134 --port 27018

在mongo shell中执行:

rs.initiate(
  {
    _id: "shard1",
    members: [
      { _id : 0, host : "10.10.3.134:27018" },
      { _id : 1, host : "10.10.3.135:27018" },
      { _id : 2, host : "10.10.3.136:27018" }
    ]
  }
)

配置mongos路由器

编辑mongos的配置文件:

sudo vim /etc/mongodb/mongos.conf

内容如下:

systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongos.log
storage:
  dbPath: /data/db
  journal:
    enabled: true
sharding:
  clusterRole: configsvr

启动mongos:

sudo mongos --configdb 10.10.3.134:21000,10.10.3.135:21000,10.10.3.136:21000 --port 20000

添加shard到集群

在mongos shell中添加shard:

mongo --host 10.10.3.134 --port 20000
sh.addShard("10.10.3.134:27001")
sh.addShard("10.10.3.135:27002")
sh.addShard("10.10.3.136:27003")

验证集群状态

使用以下命令验证集群状态:

mongo --host 10.10.3.134 --port 20000
sh.status()

通过以上步骤,你应该能够在Ubuntu上成功搭建一个基本的MongoDB分片集群。请根据实际需求调整配置和增加更多的节点。

0
看了该问题的人还看了