欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

mongodb分片概念和原理-實戰(zhàn)分片集群-創(chuàng)新互聯(lián)

一、分片

創(chuàng)新互聯(lián)公司主要從事網(wǎng)站設(shè)計制作、成都網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)浦城,十載網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220

分片是一種跨多臺機(jī)器分發(fā)數(shù)據(jù)的方法。MongoDB使用分片來支持具有非常大的數(shù)據(jù)集和高吞吐量操作的部署。

問題:

具有大型數(shù)據(jù)集或高吞吐量應(yīng)用程序的數(shù)據(jù)庫系統(tǒng)可能會挑戰(zhàn)單個服務(wù)器的容量。例如,高查詢率會耗盡服務(wù)器的CPU容量。工作集大小大于系統(tǒng)的RAM會強(qiáng)調(diào)磁盤驅(qū)動器的I / O容量。

解決系統(tǒng)增長的方法有兩種:垂直和水平縮放。

垂直擴(kuò)展涉及增加單個服務(wù)器的容量,例如使用更強(qiáng)大的CPU,添加更多RAM或增加存儲空間量。可用技術(shù)的局限性可能會限制單個機(jī)器對于給定工作負(fù)載而言足夠強(qiáng)大。此外,基于云的提供商基于可用的硬件配置具有硬性上限。結(jié)果,垂直縮放有實際的大值。

水平擴(kuò)展涉及劃分系統(tǒng)數(shù)據(jù)集并加載多個服務(wù)器,添加其他服務(wù)器以根據(jù)需要增加容量。雖然單個機(jī)器的總體速度或容量可能不高,但每臺機(jī)器處理整個工作負(fù)載的子集,可能提供比單個高速大容量服務(wù)器更高的效率。擴(kuò)展部署容量只需要根據(jù)需要添加額外的服務(wù)器,這可能比單個機(jī)器的高端硬件的總體成本更低。權(quán)衡是基礎(chǔ)架構(gòu)和部署維護(hù)的復(fù)雜性增加。

MongoDB支持通過分片進(jìn)行水平擴(kuò)展

二、分片集群概述

MongoDB分片群集包含以下組件:

分片:是一個獨立普通的mongod進(jìn)程,保存數(shù)據(jù)信息。可以是一個副本集也可以是單獨的一臺服務(wù)器。

mongos:起到一個路由的功能,供程序連接。本身不保存數(shù)據(jù),在啟動時從配置服務(wù)器加載集群信息,開啟mongos進(jìn)程需要知道配置服務(wù)器的地址,指定configdb選項。

配置服務(wù)器:是一個獨立的mongod進(jìn)程,保存集群和分片的元數(shù)據(jù),即各分片包含了哪些數(shù)據(jù)的信息。最先開始建立,啟用日志功能。像啟動普通的mongod一樣啟動配置服務(wù)器,指定configsvr選項。不需要太多的空間和資源,配置服務(wù)器的1KB空間相當(dāng)于真是數(shù)據(jù)的200MB。保存的只是數(shù)據(jù)的分布表。當(dāng)服務(wù)不可用,則變成只讀,無法分塊、遷移數(shù)據(jù)。

交互圖如下:

mongodb分片概念和原理-實戰(zhàn)分片集群mongodb分片概念和原理-實戰(zhàn)分片集群

MongoDB在集合級別對數(shù)據(jù)進(jìn)行分片,將集合數(shù)據(jù)分布在集群中的分片上。

1、鎖片鍵

為了在集合中分發(fā)文檔,MongoDB 使用分片鍵對集合進(jìn)行分區(qū)。分片鍵 由目標(biāo)集合中每個文檔中存在的不可變字段組成。

在分片集合時選擇分片鍵。分片后無法更改分片鍵的選擇。分片集合只能有一個分片 鍵。要對非空集合進(jìn)行分片,集合必須具有 以分片鍵開頭的索引。對于空集合,如果集合尚未具有指定分片鍵的適當(dāng)索引,MongoDB將創(chuàng)建索引。

分片鍵的選擇會影響分片群集的性能,效率和可伸縮性。具有最佳硬件和基礎(chǔ)結(jié)構(gòu)的群集可能會因選擇分片鍵而受到瓶頸。選擇分片鍵及其支持索引也會影響群集可以使用的分片策略。

2、大塊

MongoDB將分片數(shù)據(jù)劃分為塊。每個塊都具有基于分片鍵的包含較低且獨占的較高范圍 。

3、平衡器和偶數(shù)塊分配

為了在群集中的所有分片上實現(xiàn)塊的均勻分布,平衡器在后臺運行以跨分片遷移塊。

4、Sharding的優(yōu)點

(1)讀寫

MongoDB的分布在整個的讀寫工作量 碎片將在分片集群,使每個碎片來處理群集操作的一個子集。通過添加更多分片,可以在群集中水平擴(kuò)展讀取和寫入工作負(fù)載。

對于包含分片鍵或復(fù)合分片鍵前綴mongos的查詢,可以在特定分片或分片集上定位查詢。這些目標(biāo)操作通常比向群集中的每個分片廣播更有效 。

(2)存儲容量

拆分分配整個數(shù)據(jù)碎片集群中,允許每個碎片以包含總簇數(shù)據(jù)的子集。隨著數(shù)據(jù)集的增長,額外的分片會增加群集的存儲容量。

(3)高可用性

分片簇可以繼續(xù)執(zhí)行,即使一個或多個碎片是不可用的部分讀/寫操作。雖然在停機(jī)期間無法訪問不可用分片上的數(shù)據(jù)子集,但是針對可用分片的讀取或?qū)懭肴匀豢梢猿晒Α?/p>

備注:

(1)從MongoDB 3.2開始,您可以將配置服務(wù)器部署為副本集。只要大多數(shù)副本集可用,具有配置服務(wù)器副本集(CSRS)的分片群集就可以繼續(xù)處理讀取和寫入。

(2)在3.4版本中,MongoDB 刪除了對SCCC配置服務(wù)器的支持。

(3)在生產(chǎn)環(huán)境中,應(yīng)將各個分片部署為 副本集,從而提供更高的冗余和可用性。

5、分片集群注意事項

(1)分片集群基礎(chǔ)架構(gòu)要求和復(fù)雜性需要仔細(xì)規(guī)劃,執(zhí)行和維護(hù)。

(2)選擇分片密鑰時需要認(rèn)真考慮,以確保集群性能和效率。分片后不能更改分片鍵,也不能取消分片分片。

(3)Sharding具有一定的操作要求和限制。

(4)如果查詢不包括分片鍵或復(fù)合分片鍵的前綴 ,則mongos執(zhí)行廣播操作,查詢分 片群集中的所有分片。這些分散/收集查詢可以是長時間運行的操作。

6、分片策略

MongoDB支持兩種分片策略,用于跨分片群集分發(fā)數(shù)據(jù)。

(1)散列分片

散列分片涉及計算分片鍵字段值的散列。然后,基于散列的分片鍵值為每個塊分配一個范圍。

(2)遠(yuǎn)程分片

遠(yuǎn)程分片涉及基于分片鍵值將數(shù)據(jù)劃分為范圍。然后根據(jù)分片鍵值為每個塊分配一個范圍

7、 MongoDB Sharding Cluster角色

(1) Shard Server

即存儲實際數(shù)據(jù)的分片每個Shard 可以是一個mongod 實例也可以是一組mongod 實例

構(gòu)成的Replica Set。為了實現(xiàn)每個Shard 內(nèi)部的auto-failoverMongoDB 官方建議每個Shard

為一組Replica Set。

(2)Config Server

為了將一個特定的collection 存儲在多個shard 中需要為該collection 指定一個shard key

例如{age: 1} shard key 可以決定該條記錄屬于哪個chunk。Config Servers 就是用來存儲

所有shard 節(jié)點的配置信息、每個chunk 的shard key 范圍、chunk 在各shard 的分布情況、

該集群中所有DB 和collection 的sharding 配置信息。

(3)Route Process

這是一個前端路由客戶端由此接入然后詢問Config Servers 需要到哪個Shard 上查詢或

保存記錄再連接相應(yīng)的Shard 進(jìn)行操作最后將結(jié)果返回給客戶端。客戶端只需要將原本

發(fā)給mongod 的查詢或更新請求原封不動地發(fā)給Routing Process而不必關(guān)心所操作的記錄

存儲在哪個Shard 上。

三、分配集群搭建

1、環(huán)境準(zhǔn)備

(1)、數(shù)據(jù)庫環(huán)境

主機(jī)名

數(shù)據(jù)庫IP地址

數(shù)據(jù)庫版本

用途

系統(tǒng)

SQL_mongdb

172.169.18.128

mongodb4.0.3

配置3,路由1,分片2

cenots7.4

node01

172.169.18.162

mongodb4.0.3

路由1,分片2

centos7.4

node01

172.169.18.180

mongodb4.0.3

分片2

centos7.4

(2)暫時關(guān)閉防火墻和seliunx,測試完畢再開啟安全規(guī)則

(3)yum安裝mongdb4.0版本(省略)

同樣的,在node01和node02上安裝服務(wù)

在部署之前先明白片鍵的意義,一個好的片鍵對分片至關(guān)重要。片鍵必須是一個索引,數(shù)據(jù)根據(jù)這個片鍵進(jìn)行拆分分散。通過sh.shardCollection加會自動創(chuàng)建索引。一個自增的片鍵對寫入和數(shù)據(jù)均勻分布就不是很好,因為自增的片鍵總會在一個分片上寫入,后續(xù)達(dá)到某個閥值可能會寫到別的分片。但是按照片鍵查詢會非常高效。隨機(jī)片鍵對數(shù)據(jù)的均勻分布效果很好。注意盡量避免在多個分片上進(jìn)行查詢。在所有分片上查詢,mongos會對結(jié)果進(jìn)行歸并排序。

(4)

框架圖

mongodb分片概念和原理-實戰(zhàn)分片集群mongodb分片概念和原理-實戰(zhàn)分片集群

2、配置服務(wù)器的啟動。(SQL_mongdb上開啟3個,Port:21000、22000、2300)

備注:配置服務(wù)器必須開啟1個或則3個,開啟2個則會報錯:

(1)創(chuàng)建目錄

[root@SQL_mongdb /]# mkdir -p /opt/mongodb/date1

[root@SQL_mongdb /]# mkdir -p /opt/mongodb/date2

[root@SQL_mongdb /]# mkdir -p /opt/mongodb/date3

(2)新建配置文件

[root@SQL_mongdb ~]# cat /etc/mongodb_21000.conf

#數(shù)據(jù)目錄

dbpath=/opt/mongodb/date1/

#日志文件

logpath=/opt/mongodb/mongodb_21000.log

#日志追加

logappend=true

#端口

port = 21000

#大連接數(shù)

maxConns = 50

pidfilepath = /opt/mongodb/mongo_21000.pid

#日志,redo log

journal = true

#刷寫提交機(jī)制

journalCommitInterval = 200

#守護(hù)進(jìn)程模式

fork = true

#刷寫數(shù)據(jù)到日志的頻率

syncdelay = 60

#storageEngine = wiredTiger

#操作日志,單位M

oplogSize = 1000

#命名空間的文件大小,默認(rèn)16M,大2G。

nssize = 16

noauth = true

unixSocketPrefix = /tmp

configsvr = true

replSet=jiangjj

bind_ip = 172.169.18.128

[root@SQL_mongdb ~]# cat /etc/mongodb_22000.conf

#數(shù)據(jù)目錄

dbpath= /opt/mongodb/date2/

#日志文件

logpath= /opt/mongodb/mongodb_22000.log

#日志追加

logappend=true

#端口

port = 22000

#大連接數(shù)

maxConns = 50

pidfilepath = /opt/mongodb/mongo_22000.pid

#日志,redo log

journal = true

#刷寫提交機(jī)制

journalCommitInterval = 200

#守護(hù)進(jìn)程模式

fork = true

#刷寫數(shù)據(jù)到日志的頻率

syncdelay = 60

#storageEngine = wiredTiger

#操作日志,單位M

oplogSize = 1000

#命名空間的文件大小,默認(rèn)16M,大2G。

nssize = 16

noauth = true

unixSocketPrefix = /tmp

configsvr = true

replSet=jiangjj

bind_ip = 172.169.18.128

[root@SQL_mongdb ~]# cat /etc/mongodb_23000.conf

#數(shù)據(jù)目錄

dbpath= /opt/mongodb/date3/

#日志文件

logpath= /opt/mongodb/mongodb_23000.log

#日志追加

logappend=true

#端口

port = 23000

#大連接數(shù)

maxConns = 50

pidfilepath = /opt/mongodb/mongo_23000.pid

#日志,redo log

journal = true

#刷寫提交機(jī)制

journalCommitInterval = 200

#守護(hù)進(jìn)程模式

fork = true

#刷寫數(shù)據(jù)到日志的頻率

syncdelay = 60

#storageEngine = wiredTiger

#操作日志,單位M

oplogSize = 1000

#命名空間的文件大小,默認(rèn)16M,大2G。

nssize = 16

noauth = true

unixSocketPrefix = /tmp

configsvr = true

replSet=jiangjj

bind_ip = 172.169.18.128

(3)啟動配置文件(實例進(jìn)程)

[root@SQL_mongdb ~]# mongod -f /etc/mongodb_21000.conf

[root@SQL_mongdb ~]# mongod -f /etc/mongodb_22000.conf

[root@SQL_mongdb ~]# mongod -f /etc/mongodb_23000.conf

mongodb分片概念和原理-實戰(zhàn)分片集群mongodb分片概念和原理-實戰(zhàn)分片集群

備注:

關(guān)閉進(jìn)程服務(wù)

# mongod -f /etc/mongodb_21000.conf --shutdown

如果非正常訪問,重新啟動會報錯,必須要刪除mongd.lock后才能啟動成功。

(4)將節(jié)點配置組成集群(副本集)

在任意節(jié)點啟動配置,這里使用SQL_jiangjj節(jié)點

登錄數(shù)據(jù)庫

[root@SQL_mongdb ~]# mongo --host 172.169.18.128:21000

> use admin

> cfg={ _id:"jiangjj",members:[{_id:0,host:'172.169.18.128:21000',priority:3},{_id:1,host:'172.169.18.128:22000',priority:2},{_id:2,host:'172.169.18.128:23000',priority:1}] };

#配置生效命令

> rs.initiate(cfg)

3、路由配置(在SQL_mongodb和node01上各開啟1個,port:3000)

路由服務(wù)器不保存數(shù)據(jù),把日志記錄一下即可

(1)在SQL_mongodb上新增配置文件

[root@SQL_mongdb ~]# vim /etc/mongodb_30000.conf

#日志文件

logpath = /opt/mongodb/mongodb_route.log

#日志追加

logappend = true

#端口

port = 30000

#大連接數(shù)

maxConns = 20000

#chunkSize=1

#綁定地址

bind_ip = 0.0.0.0

pidfilepath = /opt/mongodb/mongo_30000.pid

#必須是1個或則3個配置

configdb = jiangjj/172.169.18.128:21000,172.169.18.128:22000,172.169.18.128:23000

#configdb=127.0.0.1:20000  #報錯

#守護(hù)進(jìn)程模式

fork = true

(2)開啟mongos

[root@SQL_mongdb ~]# mongos -f /etc/mongodb_30000.conf

mongodb分片概念和原理-實戰(zhàn)分片集群mongodb分片概念和原理-實戰(zhàn)分片集群

(3)配置一個普通分片文件

mongodb分片概念和原理-實戰(zhàn)分片集群mongodb分片概念和原理-實戰(zhàn)分片集群

查看狀態(tài)

mongodb分片概念和原理-實戰(zhàn)分片集群mongodb分片概念和原理-實戰(zhàn)分片集群

按照上面的方法再到node01上開啟分片服務(wù)和路由服務(wù)(配置文件一樣),以及在node02上開啟分片服務(wù)。到此分片的配置服務(wù)器、路由服務(wù)器、分片服務(wù)器都已經(jīng)部署完成。

備注:分片其中一個配置,其他的類似

[root@node01 etc]# vim mongodb_60000.conf

#mongodb

dbpath=/opt/mongodb/date2/

logpath=/opt/mongodb_60000.log

pidfilepath=/opt/mongodb/mongodb_60000.pid

directoryperdb=true

logappend=true

bind_ip=172.169.18.162

port=60000

oplogSize=100

fork=true

noprealloc=true

4、配置分片:下面的操作都是在mongodb的命令行里執(zhí)行

(1)登陸路由服務(wù)器mongos 操作:

[root@SQL_mongdb ~]# mongo --port=30000

mongos> use admin

mongos> db.runCommand({addshard:'172.169.18.128:60000'})

mongos> db.runCommand({addshard:'172.169.18.162:60000'})

mongos> db.runCommand({addshard:'172.169.18.180:60000'})

mongodb分片概念和原理-實戰(zhàn)分片集群mongodb分片概念和原理-實戰(zhàn)分片集群

#查看

mongos> sh.status()

mongodb分片概念和原理-實戰(zhàn)分片集群mongodb分片概念和原理-實戰(zhàn)分片集群

(2)開啟分片功能:sh.enableSharding("庫名")、sh.shardCollection("庫名.集合名",{"key":1})

mongos> sh.enableSharding('jiangjj')

mongos> sh.status()

mongodb分片概念和原理-實戰(zhàn)分片集群mongodb分片概念和原理-實戰(zhàn)分片集群

mongos> sh.shardCollection("jiangjj.text",{"name":1})

報錯如下:

Cannot accept sharding commands if not started with --shardsvr

mongodb分片概念和原理-實戰(zhàn)分片集群mongodb分片概念和原理-實戰(zhàn)分片集群

在分片配置文件中加入如下參數(shù):

shardsvr = true

重啟進(jìn)程后執(zhí)行上面的命令

mongodb分片概念和原理-實戰(zhàn)分片集群mongodb分片概念和原理-實戰(zhàn)分片集群

查看:mongos> sh.status()

mongodb分片概念和原理-實戰(zhàn)分片集群mongodb分片概念和原理-實戰(zhàn)分片集群

查看詳細(xì)信息:

mongos> sh.status({"verbose":1})

或則

mongos> db.printShardingStatus("vvvv")

或則

mongos> printShardingStatus(db.getSisterDB("config"),1)

#判斷是否是Sharding

mongodb分片概念和原理-實戰(zhàn)分片集群mongodb分片概念和原理-實戰(zhàn)分片集群

5、測試查看

1、在路由Mongos端添加數(shù)據(jù)庫和數(shù)據(jù),如此

mongodb分片概念和原理-實戰(zhàn)分片集群mongodb分片概念和原理-實戰(zhàn)分片集群

2、添加的數(shù)據(jù)庫分配到不聽的分片節(jié)點上

mongodb分片概念和原理-實戰(zhàn)分片集群mongodb分片概念和原理-實戰(zhàn)分片集群

備注:這里我們做的都是單點的,要是一個分片壞了,則數(shù)據(jù)會丟失,我們可以利用副本集減少災(zāi)難

四、高可用:Sharding+Replset

1、在三個節(jié)點各自添加一個分片,port:50000,name:user01

其中一個集群分片,根據(jù)實際情況修改調(diào)整

#mongodb

dbpath=/opt/mongodb/date1/

logpath=/opt/mongodb_50000.log

pidfilepath=/opt/mongodb/mongodb_50000.pid

#keyFile=/opt/mongodb/mongodb.key  //節(jié)點間用戶驗證文件,內(nèi)容必須一致,權(quán)限600,僅副本集模式有效

directoryperdb=true

logappend=true

replSet=user01

bind_ip=172.169.18.162

port=50000

#auth=true

oplogSize=100

fork=true

noprealloc=true

#maxConns=4000

shardsvr = true

2、將分片設(shè)置成副本集

登錄數(shù)據(jù)庫

[root@SQL ~]# mongo --host 172.169.18.128:50000

> use admin

> user01db={ _id:"user01",members:[{_id:0,host:'172.169.18.128:50000',priority:3},{_id:1,host:'172.169.18.162:50000',priority:2},{_id:2,host:'172.169.18.180:50000',priority:1}] };

#配置生效命令

> rs.initiate(user01db)

mongodb分片概念和原理-實戰(zhàn)分片集群mongodb分片概念和原理-實戰(zhàn)分片集群

3、配置路由節(jié)點

[root@SQL_mongdb ~]# mongo --port=30000

切換到admin庫

mongos> use admin

#添加分片節(jié)點

mongos> sh.addShard("user01/172.169.18.128:50000")

mongodb分片概念和原理-實戰(zhàn)分片集群mongodb分片概念和原理-實戰(zhàn)分片集群

備注:

#也可以直接在路由節(jié)點添加副本集

mongos>sh.addShard("user01/172.169.18.128:50000,172.169.18.162:50000,172.169.18.180:50000")

#查看集群信息

mongos> sh.status()

mongodb分片概念和原理-實戰(zhàn)分片集群mongodb分片概念和原理-實戰(zhàn)分片集群

補(bǔ)充說明:均衡器

mongodb分片概念和原理-實戰(zhàn)分片集群mongodb分片概念和原理-實戰(zhàn)分片集群

均衡器:均衡器負(fù)責(zé)數(shù)據(jù)遷移,周期性的檢查分片是否存在不均衡,如果不存在則會開始塊的遷移,config.locks集合里的state表示均衡器是否找正在運行,0表示非活動狀態(tài),2表示正在均衡。均衡遷移數(shù)據(jù)的過程會增加系統(tǒng)的負(fù)載:目標(biāo)分片必須查詢源分片的所有文檔,將文檔插入目標(biāo)分片中,再清除源分片的數(shù)據(jù)。可以關(guān)閉均衡器(不建議):關(guān)閉會導(dǎo)致各分片數(shù)據(jù)分布不均衡,磁盤空間得不到有效的利用。

查看狀態(tài):mongos> sh.getBalancerState()

關(guān)閉命令:mongos> sh.stopBalancer()

開啟命令:mongos> sh.setBalancerState(true)

4、在Mongos添加兩個數(shù)據(jù)庫user01和user02,添加數(shù)據(jù)測試副本集

分配在不同的分片節(jié)點上,查看的數(shù)據(jù)不同mongodb分片概念和原理-實戰(zhàn)分片集群mongodb分片概念和原理-實戰(zhàn)分片集群

5、分片數(shù)據(jù)庫遷移,刪除分片

刪除分片時,必須確保該分片上的數(shù)據(jù)被移動到其他分片中,對于以分片的集合,使用均衡器來遷移數(shù)據(jù)塊,對于非分片的集合,必須修改集合的主分片。

1)將shard0001分片上的數(shù)據(jù)庫jiangjj04遷移到user01集合分片上

mongos> use admin

mongos> db.runCommand({moveprimary:"jiangjj04",to:"user01"})

mongodb分片概念和原理-實戰(zhàn)分片集群mongodb分片概念和原理-實戰(zhàn)分片集群

如下:

mongodb分片概念和原理-實戰(zhàn)分片集群mongodb分片概念和原理-實戰(zhàn)分片集群

2、刪除分片:

#需要到admin下面刪除(需要執(zhí)行兩次)

mongos> db.runCommand({"removeshard":"jiangjj01"})

注意:MongoDB的分片不能刪除最后一個,否則報如下錯誤

mongodb分片概念和原理-實戰(zhàn)分片集群mongodb分片概念和原理-實戰(zhàn)分片集群

3、刪除分片上的數(shù)據(jù)庫

mongos> use jsqdb

mongos> db.dropDatabase()

mongodb分片概念和原理-實戰(zhàn)分片集群mongodb分片概念和原理-實戰(zhàn)分片集群

三、集群用戶驗證設(shè)置

1、創(chuàng)建驗證秘鑰文件

keyFile文件的作用: 集群之間的安全認(rèn)證,增加安全認(rèn)證機(jī)制KeyFile(開啟keyfile認(rèn)證就默認(rèn)開啟了auth認(rèn)證了,為了保證后面可以登錄,我已創(chuàng)建了用戶)

# cd /opt/mongodb/

#  touch .keyFile

#  chmod 600 .keyFile

# openssl rand -base64 102 > .keyFile

102:是文件大小

注意:創(chuàng)建keyFile前,需要先停掉副本集中所有主從節(jié)點的mongod服務(wù),然后再創(chuàng)建,否則有可能出現(xiàn)服務(wù)啟動不了的情況。

2、在Mongos節(jié)點添加root賬號

mongos> use admin

mongos> db.createUser({

... user:'root',

... pwd:'123456',

... roles:[{role:'root',db:'admin'}]

... })

mongodb分片概念和原理-實戰(zhàn)分片集群mongodb分片概念和原理-實戰(zhàn)分片集群

3、更新所有配置、分片節(jié)點配置文件,在路由配置文件只配置keyFile參數(shù)即可

keyFile=/home/data/.keyFile

auth=true

4、啟動副本集,測試

登錄驗證

root用戶

mongodb分片概念和原理-實戰(zhàn)分片集群mongodb分片概念和原理-實戰(zhàn)分片集群

現(xiàn)在只有兩個路由節(jié)點端口30000有權(quán)訪問數(shù)據(jù)庫,其他節(jié)點訪問如下圖報錯信息

mongodb分片概念和原理-實戰(zhàn)分片集群mongodb分片概念和原理-實戰(zhàn)分片集群

在mongos節(jié)點給jiangjj01配置用戶

添加一個jiangjj用戶擁有讀寫權(quán)限

mongodb分片概念和原理-實戰(zhàn)分片集群mongodb分片概念和原理-實戰(zhàn)分片集群

登錄Mongos節(jié)點驗證成功。

mongodb分片概念和原理-實戰(zhàn)分片集群mongodb分片概念和原理-實戰(zhàn)分片集群

補(bǔ)充知識點:

權(quán)限伸縮

1)如何增加權(quán)限

db.grantRolesToUser(

<user_name>,

[{role:<role_name>,db:<db_name>}])

注意:此方法接受2個參數(shù),而不是兩個對象, 而且如何權(quán)限重復(fù)不會覆蓋,新的會增加

例如:

db.grantRolesToUser('roleTest,[{role:'readWrite',db:'test'}])\

2)如何收縮權(quán)限

db.revokeRolesToUser(

<user_name>,

[{role:<role_name>,db:<db_name>}])

權(quán)限配置詳細(xì)請參考官方

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

文章題目:mongodb分片概念和原理-實戰(zhàn)分片集群-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://www.chinadenli.net/article18/poigp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化定制網(wǎng)站手機(jī)網(wǎng)站建設(shè)網(wǎng)站內(nèi)鏈App開發(fā)企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計