在Ubuntu上搭建MongoDB集群涉及多个步骤,包括安装、配置、启动各个组件以及设置副本集和分片。以下是一个基本的指南:
在Ubuntu系统上安装MongoDB,可以按照以下步骤操作:
sudo apt update
sudo apt install -y mongodb-org
sudo systemctl start mongod
sudo systemctl enable mongod
为每个节点创建存放数据、配置文件、日志的目录。
编辑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的配置文件:
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的配置文件:
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
在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分片集群。请根据实际需求调整配置和增加更多的节点。