服务器设置和教程 · 4 10 月, 2024

CentOS 7 下 MongoDB 3.4 集群搭建之分片+副本集 PDF

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 解決方案,請訪問我們的網站以獲取更多信息。