在CentOS上部署MongoDB分片集群涉及多个步骤,包括设置配置服务器、分片服务器和路由服务器(mongos)。以下是一个基本的指南:
首先,确保你的CentOS系统已经安装了MongoDB。如果没有,可以使用以下命令安装:
sudo yum install -y mongodb-org
确保防火墙允许MongoDB的默认端口(27017):
sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent
sudo firewall-cmd --reload
创建一个目录来存储配置服务器的数据:
sudo mkdir -p /data/configdb
sudo chown -R mongod:mongod /data/configdb
使用以下命令启动配置服务器:
mongod --configsvr --dbpath /data/configdb --port 27019 --fork
为每个分片创建一个数据目录:
sudo mkdir -p /data/shard1
sudo chown -R mongod:mongod /data/shard1
sudo mkdir -p /data/shard2
sudo chown -R mongod:mongod /data/shard2
使用以下命令启动每个分片服务器:
mongod --shardsvr --dbpath /data/shard1 --port 27018 --fork
mongod --shardsvr --dbpath /data/shard2 --port 27019 --fork
创建一个目录来存储mongos的数据:
sudo mkdir -p /data/mongos
sudo chown -R mongod:mongod /data/mongos
使用以下命令启动mongos,并连接到配置服务器:
mongos --configdb localhost:27019 --port 27017 --fork
连接到mongos并添加分片:
mongo --port 27017
在mongo shell中执行以下命令:
sh.addShard("localhost:27018")
sh.addShard("localhost:27019")
选择一个数据库并启用分片:
sh.enableSharding("yourDatabaseName")
选择一个集合并指定分片键:
sh.shardCollection("yourDatabaseName.yourCollectionName", { "shardKey": 1 })
连接到mongos并检查分片状态:
sh.status()
你应该能够看到分片服务器和分片的状态。
以上步骤涵盖了在CentOS上部署MongoDB分片集群的基本过程。根据你的具体需求,可能还需要进行更多的配置和优化。建议参考MongoDB官方文档以获取更详细的信息和高级配置选项。