MongoDB 分片集群

2021-08-21 03:47:16 字數 4347 閱讀 6995

在mongodb裡面存在另一種集群,就是分片技術,可以滿足mongodb資料量大量增長的需求。

當mongodb儲存海量的資料時,一台機器可能不足以儲存資料,也可能不足以提供可接受的讀寫吞吐量。這時,我們就可以通過在多台機器上分割資料,使得資料庫系統能儲存和處理更多的資料。

下圖展示了在mongodb中使用分片集群結構分布:

上圖中主要有如下所述三個主要元件:

分片結構埠分布如下:

shard

server1:

27020

shard

server2:

27021

shard

server3:

27022

shard

server4:

27023

config

server

:27100

route

process

:40000

步驟一:啟動shard server

[

root@100

/]#mkdir -p

/www

/mongodb

/shard/s0

[root@100

/]#mkdir -p

/www

/mongodb

/shard/s1

[root@100

/]#mkdir -p

/www

/mongodb

/shard/s2

[root@100

/]#mkdir -p

/www

/mongodb

/shard/s3

[root@100

/]#mkdir -p

/www

/mongodb

/shard

/log

[root@100

/]#/

usr/

local

/mongodb

/bin

/mongod

--port

27020

--dbpath

=/www/

mongodb

/shard

/s0

--logpath

=/www/

mongodb

/shard

/log/s0

.log

----

fork

....

[root@100

/]#/

usr/

local

/mongodb

/bin

/mongod

--port

27023

--dbpath

=/www/

mongodb

/shard

/s3

--logpath

=/www/

mongodb

/shard

/log/s3

.log

----

fork

步驟二:啟動config server

[

root@100

/]#mkdir -p

/www

/mongodb

/shard

/config

[root@100

/]#/

usr/

local

/mongodb

/bin

/mongod

--port

27100

--dbpath

=/www/

mongodb

/shard

/config

--logpath

=/www/

mongodb

/shard

/log

/config

.log

----

fork

注意:這裡我們完全可以像啟動普通mongodb服務一樣啟動,不需要新增—shardsvr和configsvr引數。因為這兩個引數的作用就是改變啟動埠的,所以我們自行指定了埠就可以。

步驟三:啟動route process

/usr/

local

/mongodb

/bin

/mongos

--port

40000

--configdb localhost

:27100

--fork

--logpath

=/www/

mongodb

/shard

/log

/route

.log

--chunksize

500

mongos啟動引數中,chunksize這一項是用來指定chunk的大小的,單位是mb,預設大小為200mb.

步驟四:配置sharding

接下來,我們使用mongodb shell登入到mongos,新增shard節點

[

root@100 shard]#/

usr/

local

/mongodb

/bin

/mongo admin

--port

40000

mongodb

shell version

:2.0.7

connecting to

:127.0

.0.1

:40000

/admin

mongos

>db.

runcommand

()......

mongos

>db.

runcommand

()mongos

>db.

runcommand

()#設定分片儲存的資料庫

mongos

>db.

runcommand

(})

步驟五:程式**內無需太大更改,直接按照連線普通的mongo資料庫那樣,將資料庫連線接入介面40000

mongodb 複製(副本集)

mongodb 備份(mongodump)與恢復(mongorestore)

1 篇筆記

li1***[email protected]

參考位址

1. 建立sharding複製集 rs0

# mkdir /data/log

# mkdir /data/db1

# mkdir /data/db2

1.1 複製集rs0配置

# mongo localhost:27020> rs.initiate(, ]})> rs.ismaster() #檢視主從關係

2. 建立sharding複製集 rs1

# mkdir /data/db3

# mkdir /data/db4

2.1 複製集rs1配置

# mongo localhost:27030

>rs.

initiate

(,]})

>rs.

ismaster

()#檢視主從關係

3. 建立config複製集 conf

# mkdir /data/conf1

# mkdir /data/conf2

3.1 複製集conf配置

# mongo localhost:27100

>rs.

initiate

(,]})

>rs.

ismaster

()#檢視主從關係

4. 建立route4.1 設定分片

# mongo localhost:40000

>

useadmin

>db.

runcommand

()>db.

runcommand

()>db.

runcommand

()>db.

runcommand

(})

MongoDB集群分片

什麼是sharding?說白了就是把海量資料水平擴充套件的集群系統,資料分表儲存在sharding的各個節點上。mongodb的資料分開分為chunk,每個chunk都是collection中的一段連續的資料記錄,一般為200mb,超出則生成新的資料塊。構建sharding需要三種角色,shard伺...

mongodb分片 集群

目前在乙個機器上部署,ip 10.1.2.197,埠列表如下 埠埠埠路由服務 27061 路由服務 27062 路由服務 27063 配置服務 27071 配置服務 27072 配置服務 27073 副本集1 27011 副本集2 27021 副本集3 27031 副本集1 27012 副本集2 2...

mongodb 分片集群

背景 mongodb集群搭建方式有三種,1 主從 官方已經不推薦 2 副本集,3 分片。這裡介紹如何通過分片sharding方式搭建mongodb集群。sharding集群方式也基於副本集,在搭建過程中,需要對分片和配置節點做副本集。最後將做好的副本集的分片加入到路由節點,構成集群。sharding...