CentOS 7 下 MongoDB 3.4 集群搭建之分片+副本集
在當今的數據驅動時代,MongoDB 作為一種高效的 NoSQL 數據庫,越來越受到開發者的青睞。特別是在需要處理大量數據的應用場景中,MongoDB 的分片和副本集功能能夠有效提升數據的可用性和擴展性。本文將介紹如何在 CentOS 7 環境下搭建 MongoDB 3.4 的分片和副本集集群。
環境準備
在開始之前,您需要準備以下環境:
- 操作系統:CentOS 7
- MongoDB 版本:3.4
- 至少三台伺服器:一台作為配置伺服器,兩台作為分片伺服器
安裝 MongoDB
首先,您需要在每台伺服器上安裝 MongoDB。可以通過以下步驟進行安裝:
sudo vi /etc/yum.repos.d/mongodb-org-3.4.repo
在文件中添加以下內容:
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
然後,執行以下命令安裝 MongoDB:
sudo yum install -y mongodb-org
配置副本集
在每台分片伺服器上,您需要配置副本集。首先,啟動 MongoDB 服務:
sudo systemctl start mongod
sudo systemctl enable mongod
接下來,進入 MongoDB shell:
mongo
在 MongoDB shell 中,執行以下命令來初始化副本集:
rs.initiate({
_id: "rs0",
members: [
{ _id: 0, host: "shard1:27017" },
{ _id: 1, host: "shard2:27017" },
{ _id: 2, host: "shard3:27017" }
]
})
配置分片
接下來,您需要配置分片。首先,啟動配置伺服器:
mongod --configsvr --replSet configReplSet --port 27019 --dbpath /data/configdb --bind_ip localhost
然後,進入 MongoDB shell,初始化配置伺服器的副本集:
mongo --port 27019
rs.initiate({
_id: "configReplSet",
members: [
{ _id: 0, host: "config1:27019" },
{ _id: 1, host: "config2:27019" },
{ _id: 2, host: "config3:27019" }
]
})
接下來,啟動分片伺服器:
mongod --shardsvr --replSet shardReplSet --port 27018 --dbpath /data/shard1 --bind_ip localhost
在 MongoDB shell 中,添加分片:
sh.addShard("shardReplSet/shard1:27018,shard2:27018,shard3:27018")
測試集群
完成以上步驟後,您可以通過以下命令檢查集群狀態:
sh.status()
如果一切正常,您將看到分片和副本集的狀態信息。
總結
在本文中,我們介紹了如何在 CentOS 7 環境下搭建 MongoDB 3.4 的分片和副本集集群。這一過程涉及到環境準備、MongoDB 安裝、配置副本集和分片等步驟。透過這些配置,您可以有效提升數據的可用性和擴展性。
如果您需要進一步的支持或尋找合適的 香港VPS 解決方案,請訪問我們的網站以獲取更多信息。