在CentOS上配置MongoDB分片涉及多个步骤,包括设置配置服务器(Config Servers)、分片服务器(Shard Servers)和路由服务器(Mongos)。以下是一个基本的指南:
准备工作安装MongoDB:
在所有服务器上安装MongoDB。你可以从MongoDB官方网站下载并安装最新版本的MongoDB。
sudo yum install -y mongodb-org
配置防火墙:
确保所有节点之间的通信端口(默认是27017)是开放的。
启动MongoDB服务:
在所有服务器上启动MongoDB服务。
sudo systemctl start mongodsudo systemctl enable mongod
配置配置服务器:
创建配置服务器目录:
sudo mkdir -p /data/configdbsudo chown -R mongod:mongod /data/configdb
编辑配置服务器配置文件(例如/etc/mongod.conf
):
sharding:clusterRole: configsvrstorage:dbPath: /data/configdbnet:bindIp: 配置服务器IP
启动配置服务器:
sudo mongod --config /etc/mongod.conf
配置分片服务器:
创建分片服务器目录:
sudo mkdir -p /data/dbsudo chown -R mongod:mongod /data/db
编辑分片服务器配置文件(例如/etc/mongod.conf
):
sharding:clusterRole: shardsvrstorage:dbPath: /data/dbnet:bindIp: 分片服务器IP
启动分片服务器:
sudo mongod --config /etc/mongod.conf
配置路由服务器(Mongos):
创建Mongos目录:
sudo mkdir -p /data/dbsudo chown -R mongos:mongos /data/db
启动Mongos:
mongos --configdb 配置服务器IP:27019,配置服务器IP:27019,配置服务器IP:27019
添加分片:
连接到Mongos并添加分片。
mongosh.addShard("shard0/分片服务器IP:27018")sh.addShard("shard1/分片服务器IP:27018")
启用数据库和集合分片:
连接到Mongos并启用数据库和集合分片。
sh.enableSharding("mydatabase")sh.shardCollection("mydatabase.mycollection", { "shardKey" : 1 })
验证分片配置:
验证分片配置是否正确。
sh.status()
通过以上步骤,你应该能够在CentOS上成功配置MongoDB分片。请根据你的实际需求调整IP地址和其他配置。