网络知识
MongoDB Ubuntu集群搭建步骤
2025-07-08 17:03  点击:0

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

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

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

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

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

配置config server副本集

编辑config server的配置文件:

sudo vim /etc/mongodb/config.conf

内容如下:

systemLog:destination: filelogAppend: truepath: /var/log/mongodb/config.logstorage:dbPath: /data/dbjournal:enabled: trueprocessManagement:fork: truepidFilePath: /var/run/mongodb/mongod.pidnet:port: 21000bindIp: 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: filelogAppend: truepath: /var/log/mongodb/shard1.logstorage:dbPath: /data/dbjournal: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: filelogAppend: truepath: /var/log/mongodb/mongos.logstorage:dbPath: /data/dbjournal:enabled: truesharding: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 20000sh.status()

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