mongodb分片搭建

2021-08-21 16:45:59 字數 1211 閱讀 9008

搭建configserver 

由於configserver的重要性,強烈推薦由至少3臺機器組成configserver副本集

解壓並建立配置檔案,並複製到3臺機器上

配置檔案中增加

配置檔案

sharding:

clusterrole: configsvr

啟動所有例項,並登入其中一台機器,執行mongo程式(如果需要開啟登入認證功能,參見:為mongodb新增身份驗證)

執行初始化副本集指令碼

示例rs.initiate(,,]

})等待初始化完成,此時configserver副本集就搭建完成了

搭建shard server

每個shard負責儲存集群的一部分資料,如果資料損壞,則會導致這部分資料丟失,重要性不言而喻,同樣強烈推薦由至少3臺機器組成副本集

搭建副本集不在贅述,參見:副本集的搭建,與副本集不同的是,需要在每台機器的配置檔案中新增如下配置:

配置示例

sharding:

clusterrole: shardsvr

想要分多少個片,就按述方法配置多少個副本集

配置mongos程式

建立mongos.conf

配置示例

啟動mongos程序./mongos -f mongos.conf (通常可以啟動多個,可以將mongos程序部署在部署專案的機器上)

在mongos上將配置好的分片副本集加入分片集群 (直接在bin下:./mongo)

配置示例

sh.addshard( "candao_qc_shard1/10.200.102.31:27027");

sh.addshard( "candao_qc_shard2/10.200.102.31:27028");

sh.addshard( "candao_qc_shard3/10.200.102.31:27029");

將要分片的資料庫開啟分片 sh.enablesharding("datacenter_qc")

將表進行分片 sh.shardcollection("datacenter_qc.order", )

至此,分片搭建完成,如果剛才分片的集合中有資料,此時需要等待後台程序將資料按照片鍵均勻地遷移到其他機器上

在工具或者程式中,需要用可讀可寫賬號進行訪問mongo的資料,這個時候,需要在configserver中進行建立原來的集群中的可讀、可寫的賬號。

搭建mongodb分片

這是一種將海量的資料水平擴充套件的資料庫集群系統,資料分表儲存在sharding的各個節點上,使用者通過簡單的配置就可以很方便地構建乙個分布式mongodb集群。mongodb 的資料分塊稱為 chunk。每個 chunk 都是 collection中一段連續的資料記錄,通常最大尺寸是 200mb,...

MongoDB分片集群搭建

1.搭建環境 os centos7 version 4.2.8 主機規劃 sharding role host port replica set mongos mongos 37017 shard1 host1 host2 host3 27117 shard1 shard2 host1 host2 ...

mongodb 集群搭建 分片 副本集

mkdir p home mongodb conf mkdir p home mongodb mongos log mkdir p home mongodb config data mkdir p home mongodb config log mkdir p home mongodb shard1...