在Debian上配置MongoDB分片涉及多个步骤,包括安装MongoDB、配置分片集群、设置路由服务器(mongos)、配置配置服务器(config server)和分片服务器(shard),以及启用和验证分片。以下是一个详细的指南:
首先,确保你的Debian系统是最新的,然后安装MongoDB。
sudo apt update
sudo apt upgrade -y
sudo apt install -y mongodb-org
创建配置服务器目录并编辑配置文件 /etc/mongod.conf
:
systemLog:
destination: file
path: "/var/log/mongodb/mongod.log"
logAppend: true
storage:
dbPath: "/var/lib/mongodb"
journal:
enabled: true
net:
bindIp: 0.0.0.0
port: 27019
replication:
replSetName: configReplSet
sharding:
clusterRole: configsvr
启动配置服务器:
sudo mongod --configsvr --replSet configReplSet --bind_ip 0.0.0.0 --port 27019
初始化配置服务器副本集:
mongo --host <config_server_ip>:27019
rs.initiate(
{
_id: "configReplSet",
configsvr: true,
members: [
{ _id : 0, host : "<config_server_ip>:27019" },
{ _id : 1, host : "<config_server_ip_2>:27019" },
{ _id : 2, host : "<config_server_ip_3>:27019" }
]
}
)
为每个分片创建目录并编辑配置文件 /etc/mongod.conf
:
systemLog:
destination: file
path: "/var/log/mongodb/mongod.log"
logAppend: true
storage:
dbPath: "/var/lib/mongodb"
journal:
enabled: true
net:
bindIp: 0.0.0.0
port: 27018
replication:
replSetName: shardReplSet
sharding:
clusterRole: shardsvr
启动每个分片服务器:
sudo mongod --shardsvr --replSet shardReplSet --bind_ip 0.0.0.0 --port 27018
初始化分片副本集:
mongo --host <shard_server_ip>:27018
rs.initiate(
{
_id: "shardReplSet",
members: [
{ _id : 0, host : "<shard_server_ip>:27018" },
{ _id : 1, host : "<shard_server_ip_2>:27018" },
{ _id : 2, host : "<shard_server_ip_3>:27018" }
]
}
)
启动mongos进程:
mongos --configdb <config_server_ip_1>:27019,<config_server_ip_2>:27019,<config_server_ip_3>:27019
连接到mongos进程并添加分片:
mongo --host <mongos_ip>:27010
sh.addShard("<shard_server_ip_1>:27018")
sh.addShard("<shard_server_ip_2>:27018")
sh.addShard("<shard_server_ip_3>:27018")
启用分片:
sh.enableSharding("<database>")
为集合分片:
sh.shardCollection("<database>.<collection>", { <shard_key>: 1 })
使用以下命令验证分片配置:
sh.status()
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: debian gcc如何进行代码优化