溫馨提示×

MongoDB分片在CentOS上的部署策略

小樊
34
2025-08-20 16:59:06
欄目: 云計算

以下是在CentOS上部署MongoDB分片的策略,基于搜索結果整理關鍵步驟及要點:

一、基礎環境準備

  1. 安裝MongoDB
    通過官方YUM源或手動安裝包部署,確保所有節點安裝版本一致。

    sudo yum install -y mongodb-org  
    
  2. 配置網絡與權限

    • 確保節點間網絡互通,防火墻開放MongoDB端口(默認27017、27019等)。
    • 創建專用數據目錄并授權(如/data/configdb、/data/shard1等),避免使用默認路徑。

二、分片集群核心組件部署

1. 配置服務器(Config Server)

  • 作用:存儲集群元數據,需至少3個節點保障高可用。
  • 部署步驟
    • 啟動配置服務器,指定--configsvr參數和副本集名稱:
      mongod --configsvr --replSet configReplSet --dbpath /data/configdb --port 27019  
      
    • 初始化副本集(連接到任意配置服務器執行):
      rs.initiate({  
        _id: "configReplSet",  
        configsvr: true,  
        members: [  
          { _id: 0, host: "cfg1.example.com:27019" },  
          { _id: 1, host: "cfg2.example.com:27019" },  
          { _id: 2, host: "cfg3.example.com:27019" }  
        ]  
      })  
      

2. 分片服務器(Shard Server)

  • 作用:存儲實際數據,每個分片建議配置為副本集。
  • 部署步驟
    • 啟動分片服務器,指定--shardsvr參數和副本集名稱:
      mongod --shardsvr --replSet shard1ReplSet --dbpath /data/shard1 --port 27018  
      
    • 初始化副本集(以3節點為例):
      rs.initiate({  
        _id: "shard1ReplSet",  
        members: [  
          { _id: 0, host: "shard1a.example.com:27018" },  
          { _id: 1, host: "shard1b.example.com:27018" },  
          { _id: 2, host: "shard1c.example.com:27018" }  
        ]  
      })  
      
    • 重復上述步驟部署其他分片(如shard2、shard3)。

3. 路由服務器(Mongos)

  • 作用:作為應用訪問入口,路由請求到對應分片。
  • 部署步驟
    • 啟動Mongos,指定配置服務器副本集:
      mongos --configdb configReplSet/cfg1.example.com:27019,cfg2.example.com:27019,cfg3.example.com:27019 --port 27017  
      

三、分片集群配置與驗證

  1. 添加分片到集群
    連接到Mongos,通過sh.addShard()添加分片(需指定分片副本集名稱和成員):

    sh.addShard("shard1ReplSet/shard1a.example.com:27018,shard1b.example.com:27018,shard1c.example.com:27018")  
    
  2. 啟用分片

    • 啟用數據庫分片:
      sh.enableSharding("yourDatabase")  
      
    • 對集合指定分片鍵(如_id或自定義字段):
      sh.shardCollection("yourDatabase.yourCollection", { "shardKey": 1 })  
      
  3. 驗證集群狀態
    通過sh.status()查看分片集群狀態,確認分片、副本集和路由信息正常。

四、關鍵注意事項

  • 副本集配置:分片服務器和配置服務器均需配置為副本集,確保數據冗余和高可用。
  • 端口規劃:配置服務器(27019)、分片服務器(27018)、Mongos(27017)需使用不同端口,避免沖突。
  • 硬件資源:根據數據規模合理分配CPU、內存和磁盤,分片服務器建議配置SSD存儲提升性能。
  • 安全配置:啟用認證(如SCRAM-SHA-256)和加密傳輸(TLS/SSL),限制非必要端口訪問。

五、監控與維護

  • 使用mongostat、mongotop或MongoDB Atlas監控集群性能。
  • 定期備份配置服務器和分片數據,可通過mongodump工具實現。

以上步驟參考自,可根據實際環境調整節點數量和配置參數。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女