配置MongoDB在CentOS上的分片集群涉及多个步骤,包括设置配置服务器、分片服务器和路由服务器(mongos)。以下是一个基本的指南:
1. 准备工作
- CentOS 7/8:确保你的系统是最新的。
- MongoDB版本:建议使用MongoDB 4.0及以上版本。
- 防火墙设置:确保防火墙允许MongoDB的默认端口(27017)。
2. 安装MongoDB
在所有服务器上安装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
3. 启动MongoDB服务
在所有服务器上启动MongoDB服务并设置开机自启。
sudo systemctl start mongod
sudo systemctl enable mongod
4. 配置配置服务器
配置服务器存储集群的元数据。通常需要至少三个配置服务器以实现高可用性。
在配置服务器上:
- 编辑配置文件
/etc/mongod.conf,添加以下内容:
sharding:
clusterRole: configsvr
net:
bindIp: <配置服务器IP>
storage:
dbPath: /var/lib/mongo
journal:
enabled: true
- 启动配置服务器:
sudo mongod --config /etc/mongod.conf
5. 配置分片服务器
分片服务器存储实际的数据。
在分片服务器上:
- 编辑配置文件
/etc/mongod.conf,添加以下内容:
sharding:
clusterRole: shardsvr
net:
bindIp: <分片服务器IP>
storage:
dbPath: /var/lib/mongo
journal:
enabled: true
- 启动分片服务器:
sudo mongod --config /etc/mongod.conf
6. 配置路由服务器(mongos)
路由服务器是应用程序与分片集群之间的接口。
在mongos服务器上:
- 编辑配置文件
/etc/mongos.conf,添加以下内容:
sharding:
configDB: <配置服务器IP>:27019
net:
bindIp:
storage:
dbPath: /var/lib/mongo
journal:
enabled: true
- 启动mongos服务器:
sudo mongos --config /etc/mongos.conf
7. 添加配置服务器到集群
连接到mongos服务器并添加配置服务器。
mongo --host --port 27017
在mongo shell中执行:
sh.addShard("cfgReplSetName/<配置服务器IP>:27019")
8. 添加分片服务器到集群
连接到mongos服务器并添加分片服务器。
mongo --host --port 27017
在mongo shell中执行:
sh.addShard("shardReplSetName/<分片服务器IP>:27018")
9. 启用数据库和集合的分片
连接到mongos服务器并启用数据库和集合的分片。
mongo --host --port 27017
在mongo shell中执行:
sh.enableSharding("<数据库名>")
sh.shardCollection("<数据库名>.<集合名>", { "<分片键>": 1 })
10. 验证配置
连接到mongos服务器并检查集群状态。
mongo --host --port 27017
在mongo shell中执行:
sh.status()
这将显示集群的详细状态,包括配置服务器、分片服务器和分片信息。
通过以上步骤,你应该能够成功配置一个MongoDB分片集群。请根据实际情况调整配置和步骤。
以上就是关于“如何配置MongoDB在CentOS上的分片集群”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm