成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

如何搭建mongodb架構(gòu)ReplicaSet&Sharding—ttlsa

本篇文章給大家分享的是有關(guān)如何搭建MongoDB架構(gòu)Replica Set&Sharding—ttlsa,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

成都創(chuàng)新互聯(lián)總部坐落于成都市區(qū),致力網(wǎng)站建設(shè)服務(wù)有成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷策劃、網(wǎng)頁設(shè)計(jì)、網(wǎng)站維護(hù)、公眾號搭建、微信小程序、軟件開發(fā)等為企業(yè)提供一整套的信息化建設(shè)解決方案。創(chuàng)造真正意義上的網(wǎng)站建設(shè),為互聯(lián)網(wǎng)品牌在互動行銷領(lǐng)域創(chuàng)造價(jià)值而不懈努力!

一分鐘搭建mongodb架構(gòu)Replica Set&Sharding—ttlsa

在測試試驗(yàn)階段,我們需要有一個模擬的測試環(huán)境來測試應(yīng)用程序和系統(tǒng)架構(gòu)各個方面的功能,是否符合需求。在我公司,我常常使用下面的方法來為開發(fā)人員搭建mongodb的復(fù)制集和分片架構(gòu)進(jìn)行測試。我也常用這個方法來模擬線上架構(gòu),測試相關(guān)內(nèi)容。
開啟一個MongoDB shell,不連接任何mongod

?

1

# ./mongo --nodb

創(chuàng)建復(fù)制集,一個primary兩個secondary

?

1

> replicaSet = newReplSetTest({"nodes": 3})

啟動三個mongod實(shí)例

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

> replicaSet.startSet()

ReplSetTest Starting Set

ReplSetTest n is: 0

ReplSetTest n: 0ports: [ 31000, 31001, 31002] 31000number

{

"useHostName": true,

"oplogSize": 40,

"keyFile": undefined,

"port": 31000,

"noprealloc": "",

"smallfiles": "",

"rest": "",

"replSet": "testReplSet",

"dbpath": "$set-$node",

"restart": undefined,

"pathOpts": {

"node": 0,

"set": "testReplSet"

}

}

ReplSetTest Starting....

Resetting db path '/data/db/testReplSet-0'

ReplSetTest n is: 1

ReplSetTest n: 1ports: [ 31000, 31001, 31002] 31001number

{

"useHostName": true,

"oplogSize": 40,

"keyFile": undefined,

"port": 31001,

"noprealloc": "",

"smallfiles": "",

"rest": "",

"replSet": "testReplSet",

"dbpath": "$set-$node",

"restart": undefined,

"pathOpts": {

"node": 1,

"set": "testReplSet"

}

}

ReplSetTest Starting....

Resetting db path '/data/db/testReplSet-1'

ReplSetTest n is: 2

ReplSetTest n: 2ports: [ 31000, 31001, 31002] 31002number

{

"useHostName": true,

"oplogSize": 40,

"keyFile": undefined,

"port": 31002,

"noprealloc": "",

"smallfiles": "",

"rest": "",

"replSet": "testReplSet",

"dbpath": "$set-$node",

"restart": undefined,

"pathOpts": {

"node": 2,

"set": "testReplSet"

}

}

ReplSetTest Starting....

Resetting db path '/data/db/testReplSet-2'

復(fù)制集初始化

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

> replicaSet.initiate()

{

"replSetInitiate": {

"_id": "testReplSet",

"members": [

{

"_id": 0,

"host": "nd0302012029:31000"

},

{

"_id": 1,

"host": "nd0302012029:31001"

},

{

"_id": 2,

"host": "nd0302012029:31002"

}

]

}

}

啟動了三個實(shí)例,分別監(jiān)聽在31000,31001,31002端口上

當(dāng)前MongoDB shell窗口會有大量的日志信息輸出,影響操作,另開啟一個MongoDB shell

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

# ./mongo --nodb

> conn1 = newMongo("localhost:31000")

> primaryDB = conn1.getDB("test")  //testReplSet是默認(rèn)的復(fù)制集測試名

test

> primaryDB.isMaster()

{

"setName": "testReplSet",

"ismaster": true,

"secondary": false,

"hosts": [

"nd0302012029:31000",

"nd0302012029:31002",

"nd0302012029:31001"

],

"primary": "nd0302012029:31000",

"me": "nd0302012029:31000",

"maxBsonObjectSize": 16777216,

"maxMessageSizeBytes": 48000000,

"localTime": ISODate("2013-07-28T04:23:49.866Z"),

"ok": 1

}

插入1000條文檔

?

1

2

3

>for(i=0; i<<>1000; i++) { primaryDB.coll.insert({count: i}) }

> primaryDB.coll.count()

1000

創(chuàng)建第二個連接,連接到secondary

?

1

2

3

4

5

6

> conn2 = newMongo("localhost:31001")

connection to localhost:31001

> secondaryDB = conn2.getDB("test")

test

> secondaryDB.coll.find()  //默認(rèn)情況下secondary不可讀不可寫

error: { "$err": "not master and slaveOk=false", "code": 13435}

允許secondary可讀

?

嘗試想secondary寫數(shù)據(jù)

?

1

2

3

4

5

6

7

8

9

10

> secondaryDB.coll.insert({"count": 1001})

> secondaryDB.runCommand({"getLastError": 1})

{

"err": "not master",

"code": 10058,

"n": 0,

"lastOp": Timestamp(0, 0),

"connectionId": 75,

"ok": 1

}

可看到secondary不接收客戶端寫操作

測試復(fù)制集的automatic failover功能:
shutdown 31000實(shí)例

查看哪個實(shí)例變成primary

可見31002實(shí)例變成新的master

關(guān)閉replica set

sharding簡易搭建方法參見: http://www.ttlsa.com/html/1787.html

以上就是如何搭建mongodb架構(gòu)Replica Set&Sharding—ttlsa,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

當(dāng)前標(biāo)題:如何搭建mongodb架構(gòu)ReplicaSet&Sharding—ttlsa
URL標(biāo)題:http://jinyejixie.com/article30/iepppo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、品牌網(wǎng)站制作、品牌網(wǎng)站設(shè)計(jì)、自適應(yīng)網(wǎng)站、品牌網(wǎng)站建設(shè)、微信小程序

廣告

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

成都網(wǎng)頁設(shè)計(jì)公司
保靖县| 巴里| 阿图什市| 甘谷县| 寻甸| 岑巩县| 肃北| 甘谷县| 柘城县| 江阴市| 沧源| 南川市| 阿鲁科尔沁旗| 龙山县| 西乡县| 浠水县| 石嘴山市| 衡山县| 民丰县| 鄂伦春自治旗| 安平县| 闽清县| 南岸区| 兴宁市| 吴旗县| 阿鲁科尔沁旗| 广州市| 镇平县| 来凤县| 延长县| 大邑县| 潢川县| 德清县| 牙克石市| 乌审旗| 达拉特旗| 塔河县| 黄陵县| 米林县| 福州市| 于田县|