阅读量:3
搭建MongoDB分片集群在CentOS上涉及多个步骤,包括配置服务器、配置分片、配置副本集等。以下是一个基本的指南:
1. 准备工作
确保你已经安装了MongoDB,并且每个节点上都安装了相同版本的MongoDB。
2. 配置服务器
每个节点都需要配置为MongoDB实例。编辑每个节点的/etc/mongod.conf文件。
示例配置(node1):
storage:
dbPath: /var/lib/mongo
journal:
enabled: true
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
net:
port: 27017
bindIp: 127.0.0.1,<节点IP>
sharding:
clusterRole: shardsvr
示例配置(node2):
storage:
dbPath: /var/lib/mongo
journal:
enabled: true
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
net:
port: 27018
bindIp: 127.0.0.1,<节点IP>
示例配置(node3):
storage:
dbPath: /var/lib/mongo
journal:
enabled: true
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
net:
port: 27019
bindIp: 127.0.0.1,<节点IP>
3. 启动MongoDB实例
在每个节点上启动MongoDB实例。
sudo systemctl start mongod
sudo systemctl enable mongod
4. 配置副本集
每个分片节点需要配置为副本集。假设我们有两个副本集,每个副本集有两个节点。
配置副本集1(node1, node2):
mongo --port 27017
rs.initiate(
{
_id: "shard1",
members: [
{ _id: 0, host: "node1:27017" },
{ _id: 1, host: "node2:27017" }
]
}
)
配置副本集2(node3, node4):
mongo --port 27018
rs.initiate(
{
_id: "shard2",
members: [
{ _id: 0, host: "node3:27018" },
{ _id: 1, host: "node4:27018" }
]
}
)
5. 配置配置服务器
配置服务器存储集群的元数据。假设我们使用三个配置服务器。
配置服务器1(config1):
mongod --configsvr --replSet configReplSet --dbpath /var/lib/mongo --port 27019 --bind_ip localhost,<节点IP>
配置服务器2(config2):
mongod --configsvr --replSet configReplSet --dbpath /var/lib/mongo --port 27020 --bind_ip localhost,<节点IP>
配置服务器3(config3):
mongod --configsvr --replSet configReplSet --dbpath /var/lib/mongo --port 27021 --bind_ip localhost,<节点IP>
初始化配置服务器副本集:
mongo --port 27019
rs.initiate(
{
_id: "configReplSet",
configsvr: true,
members: [
{ _id: 0, host: "config1:27019" },
{ _id: 1, host: "config2:27020" },
{ _id: 2, host: "config3:27021" }
]
}
)
6. 启动mongos路由器
mongos是MongoDB的分片路由器,负责将请求路由到正确的分片。
mongos --configdb configReplSet/config1:27019,config2:27020,config3:27021 --port 27017 --bind_ip localhost,<节点IP>
7. 添加分片
连接到mongos并添加分片。
mongo --port 27017
sh.addShard("shard1/node1:27017,node2:27017")
sh.addShard("shard2/node3:27018,node4:27018")
8. 启用数据库和集合的分片
启用数据库和集合的分片。
sh.enableSharding("yourDatabase")
sh.shardCollection("yourDatabase.yourCollection", { "shardKey": 1 })
9. 验证配置
验证分片集群是否正常工作。
sh.status()
以上步骤提供了一个基本的MongoDB分片集群搭建指南。根据实际需求,可能需要进一步调整和优化配置。
以上就是关于“MongoDB分片集群在CentOS如何搭建”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm