在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官方文檔以獲取更詳細的信息和高級配置選項。