在CentOS上搭建MongoDB分片集群涉及多个步骤,包括配置服务器、配置分片、配置副本集等。以下是一个基本的指南:
安装MongoDB:
sudo yum install -y mongodb-org
启动MongoDB服务:
sudo systemctl start mongod
sudo systemctl enable mongod
你需要配置多个服务器来组成分片集群。假设我们有三个服务器:shard1
, shard2
, shard3
。
/etc/mongod.conf
)sharding:
clusterRole: shardsvr
net:
port: 27018
bindIp: <服务器IP地址>
storage:
dbPath: /var/lib/mongo
journal:
enabled: true
sudo mongod --config /etc/mongod.conf
每个分片应该是一个副本集。以下是配置副本集的步骤:
mongo --port 27018
rs.initiate(
{
_id: "shard1",
members: [
{ _id: 0, host: "shard1_ip:27018" },
{ _id: 1, host: "shard1_ip:27019" },
{ _id: 2, host: "shard1_ip:27020" }
]
}
)
重复上述步骤为shard2
和shard3
配置副本集。
配置服务器存储集群的元数据。
mongod --configsvr --replSet configReplSet --dbpath /var/lib/configdb --port 27019 --bind_ip <服务器IP地址>
mongo --port 27019
rs.initiate(
{
_id: "configReplSet",
configsvr: true,
members: [
{ _id: 0, host: "config_server_ip:27019" }
]
}
)
将分片添加到集群中。
mongos --configdb configReplSet/config_server_ip:27019 --port 27017
sh.addShard("shard1/shard1_ip:27018,shard1_ip:27019,shard1_ip:27020")
sh.addShard("shard2/shard2_ip:27018,shard2_ip:27019,shard2_ip:27020")
sh.addShard("shard3/shard3_ip:27018,shard3_ip:27019,shard3_ip:27020")
sh.enableSharding("yourDatabaseName")
sh.shardCollection("yourDatabaseName.yourCollectionName", { "shardKey": 1 })
sh.status()
通过以上步骤,你可以在CentOS上搭建一个基本的MongoDB分片集群。根据实际需求,可能还需要进行更多的配置和优化。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>