配置MongoDB在CentOS上的分片集群涉及多个步骤,包括设置配置服务器、分片服务器和路由服务器(mongos)。以下是一个基本的指南:
在所有服务器上安装MongoDB。你可以使用MongoDB官方提供的YUM仓库。
# 导入MongoDB公钥 sudo rpm -v --import https://www.mongodb.org/static/pgp/server-4.4.asc # 创建MongoDB YUM仓库文件 echo "[mongodb-org-4.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc" | sudo tee /etc/yum.repos.d/mongodb-org-4.4.repo # 安装MongoDB sudo yum install -y mongodb-org 在所有服务器上启动MongoDB服务并设置开机自启。
sudo systemctl start mongod sudo systemctl enable mongod 配置服务器存储集群的元数据。通常需要至少三个配置服务器以实现高可用性。
/etc/mongod.conf,添加以下内容:sharding: clusterRole: configsvr net: bindIp: <配置服务器IP> storage: dbPath: /var/lib/mongo journal: enabled: true sudo mongod --config /etc/mongod.conf 分片服务器存储实际的数据。
/etc/mongod.conf,添加以下内容:sharding: clusterRole: shardsvr net: bindIp: <分片服务器IP> storage: dbPath: /var/lib/mongo journal: enabled: true sudo mongod --config /etc/mongod.conf 路由服务器是应用程序与分片集群之间的接口。
/etc/mongos.conf,添加以下内容:sharding: configDB: <配置服务器IP>:27019 net: bindIp: <mongos服务器IP> storage: dbPath: /var/lib/mongo journal: enabled: true sudo mongos --config /etc/mongos.conf 连接到mongos服务器并添加配置服务器。
mongo --host <mongos服务器IP> --port 27017 在mongo shell中执行:
sh.addShard("cfgReplSetName/<配置服务器IP>:27019") 连接到mongos服务器并添加分片服务器。
mongo --host <mongos服务器IP> --port 27017 在mongo shell中执行:
sh.addShard("shardReplSetName/<分片服务器IP>:27018") 连接到mongos服务器并启用数据库和集合的分片。
mongo --host <mongos服务器IP> --port 27017 在mongo shell中执行:
sh.enableSharding("<数据库名>") sh.shardCollection("<数据库名>.<集合名>", { "<分片键>": 1 }) 连接到mongos服务器并检查集群状态。
mongo --host <mongos服务器IP> --port 27017 在mongo shell中执行:
sh.status() 这将显示集群的详细状态,包括配置服务器、分片服务器和分片信息。
通过以上步骤,你应该能够成功配置一个MongoDB分片集群。请根据实际情况调整配置和步骤。