日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Mongodb復(fù)制集的安裝和部署

Mongodb復(fù)制集由一組Mongod實(shí)例(進(jìn)程)組成,包含一個(gè)Primary節(jié)點(diǎn)和多個(gè)Secondary節(jié)點(diǎn),Mongodb Driver(客戶端)的所有數(shù)據(jù)都寫入Primary,Secondary從Primary同步寫入的數(shù)據(jù),以保持復(fù)制集內(nèi)所有成員存儲相同的數(shù)據(jù)集,提供數(shù)據(jù)的高可用。

創(chuàng)新互聯(lián)公司專注于永康企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,購物商城網(wǎng)站建設(shè)。永康網(wǎng)站建設(shè)公司,為永康等地區(qū)提供建站服務(wù)。全流程按需搭建網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)

準(zhǔn)備工作

軟件環(huán)境

OS:Oracle Linux 6.5

MongoDB:mongodb3.2.3

部署架構(gòu)

模擬有三臺服務(wù)器

10.1.5.123:28001 主節(jié)點(diǎn)

10.1.5.123:28002 從節(jié)點(diǎn)

10.1.5.123:28003 選舉節(jié)點(diǎn)

復(fù)制集架構(gòu):一主,一從,一選舉節(jié)點(diǎn)

下載安裝

下載地址:https://www.mongodb.org/downloads

mongodb-linux-x86_64-rhel62-3.2.3.tgz

部署步驟

1.創(chuàng)建目錄及用戶

[root@devtest mongodb]# mkdir conf data log

[root@devtest data]# mkdir 28001 28002 28003

--創(chuàng)建mongo用戶

[root@devtest conf]# groupadd mongod

[root@devtest conf]# useradd -g mongod mongod

2.創(chuàng)建配置文件 –配置三個(gè)實(shí)例的配置文件(修改相應(yīng)的端口號即可)

–節(jié)點(diǎn)1

$ vi /home/mongod/mongodb3.2.3/conf/28001.conf

port=28001

bind_ip=10.1.5.123

logpath=/home/mongod/mongodb3.2.3/log/28001.log

dbpath=/home/mongod/mongodb3.2.3/data/28001/

logappend=true

pidfilepath=/home/mongod/mongodb3.2.3/data/28001/28001.pid

fork=true

oplogSize=1024

replSet=MyMongo

–節(jié)點(diǎn)2

$ vi /home/mongod/mongodb3.2.3/conf/28002.conf

port=28002

bind_ip=10.1.5.123

logpath=/home/mongod/mongodb3.2.3/log/28002.log

dbpath=/home/mongod/mongodb3.2.3/data/28002/

logappend=true

pidfilepath=/home/mongod/mongodb3.2.3/data/28002/28002.pid

fork=true

oplogSize=1024

replSet=MyMongo

–節(jié)點(diǎn)3

$ vi /home/mongod/mongodb3.2.3/conf/28003.conf

port=28003

bind_ip=10.1.5.123

logpath=/home/mongod/mongodb3.2.3/log/28003.log

dbpath=/home/mongod/mongodb3.2.3/data/28003/

logappend=true

pidfilepath=/home/mongod/mongodb3.2.3/data/28003/28003.pid

fork=true

oplogSize=1024

replSet=MyMongo

3.啟動mongo復(fù)制集

$ mongod -f /home/mongod/mongodb3.2.3/conf/28001.conf

$ mongod -f /home/mongod/mongodb3.2.3/conf/28002.conf

$ mongod -f /home/mongod/mongodb3.2.3/conf/28003.conf

4.初始化復(fù)制集

[mongod@devtest ~]$ mongo 10.1.5.123:28001/admin

MongoDB shell version: 3.2.3

connecting to: 10.1.5.123:28001/admin

Welcome to the MongoDB shell.

For interactive help, type"help".

For more comprehensive documentation, see

?    http://docs.mongodb.org/

Questions? Try the support group

  http://groups.google.com/group/mongodb-user

\> db

admin

\> config = {

... "_id":"MyMongo",

... members:[

...{"_id":0,host:"10.1.5.123:28001"},

...{"_id":1,host:"10.1.5.123:28002"},

... {"_id":2,host:"10.1.5.123:28003"}]

... }

{

  "id" : "MyMongo",

  "members" : [

?        {

?            "_id" : 0,

?            "host" :"10.1.5.123:28001"

?        },

?        {

?            "_id" : 1,

?            "host" :"10.1.5.123:28002"

?        },

?        {

?            "_id" : 2,

?            "host" :"10.1.5.123:28003"

?        }

  ]

}

–查看復(fù)制集成員

\> config.members

[

  {

?        "_id" : 0,

?        "host" :"10.1.5.123:28001"

  },

  {

?        "_id" : 1,

?        "host" :"10.1.5.123:28002"

  },

  {

?        "_id" : 2,

?        "host" :"10.1.5.123:28003"

  }

]

–把節(jié)點(diǎn)3修改為arbiter選舉節(jié)點(diǎn)

\> config.members[2]

{ "_id" : 2, "host" :"10.1.5.123:28003" }

\> config.members[2] ={"_id":2,"host":"10.1.5.123:28003",arbiterOnly:true}

{ "id" : 0, "host" :"10.1.5.123:28003", "arbiterOnly" : true }

–進(jìn)行復(fù)制集初始化

\> rs.initiate(config)

{ "ok" : 1 }

–查看復(fù)制集狀態(tài)

MyMongo:OTHER> rs.status()

{

?    "set" : "MyMongo",

?    "date" :ISODate("2016-03-15T09:42:47.643Z"),

?    "myState" : 1,

?    "term" : NumberLong(1),

?    "heartbeatIntervalMillis" :NumberLong(2000),

?    "members" : [

?        {

?            "_id" : 0,

?            "name" :"10.1.5.123:28001",

?            "health" : 1,

?            "state" : 1,

?            "stateStr" :"PRIMARY",

?            "uptime" :1812,

?            "optime" : {

?                "ts": Timestamp(1458034899, 1),

?                "t" :NumberLong(1)

?            },

?            "optimeDate": ISODate("2016-03-15T09:41:39Z"),

?            "infoMessage": "could not find member to sync from",

?           "electionTime" : Timestamp(1458034898, 1),

?            "electionDate": ISODate("2016-03-15T09:41:38Z"),

?           "configVersion" : 1,

?            "self" : true

?        },

?        {

?            "_id" : 1,

?            "name" :"10.1.5.123:28002",

?            "health" : 1,

?            "state" : 2,

?            "stateStr" :"SECONDARY",

?            "uptime" :80,

?            "optime" : {

?                "ts": Timestamp(1458034899, 1),

?                "t" :NumberLong(1)

?            },

?            "optimeDate": ISODate("2016-03-15T09:41:39Z"),

?           "lastHeartbeat" :ISODate("2016-03-15T09:42:46.947Z"),

?            "lastHeartbeatRecv" :ISODate("2016-03-15T09:42:46.445Z"),

?            "pingMs" :NumberLong(0),

?            "syncingTo" :"10.1.5.123:28001",

?           "configVersion" : 1

?        },

?        {

?            "_id" : 2,

?            "name" :"10.1.5.123:28003",

?            "health" : 1,

?            "state" : 7,

?            "stateStr" :"ARBITER",

?            "uptime" :80,

?           "lastHeartbeat" :ISODate("2016-03-15T09:42:46.946Z"),

?           "lastHeartbeatRecv" :ISODate("2016-03-15T09:42:44.428Z"),

?            "pingMs" :NumberLong(0),

?            "configVersion": 1

?        }

?    ],

?    "ok" : 1

}

MyMongo:PRIMARY>

\5. 驗(yàn)證復(fù)制集同步 分別登錄兩從節(jié)點(diǎn)查看登錄狀態(tài),分別為secondary和arbite

下面登錄從secondary節(jié)點(diǎn)進(jìn)行測試:

在從節(jié)點(diǎn)進(jìn)行查詢時(shí)報(bào)下面的錯(cuò)誤,因?yàn)樵谀J(rèn)情況下,不通過驅(qū)動連接mongodb從節(jié)點(diǎn)數(shù)據(jù)庫時(shí),如果不開始slaveOK=true,是無法讀取從節(jié)點(diǎn)數(shù)據(jù)的。

[mongod@devtest conf]$ mongo10.1.5.123:28002/admin

MongoDB shell version: 3.2.3

connecting to:10.1.5.123:28002/admin

MyMongo:SECONDARY> show dbs

2016-03-15T17:49:47.854+0800 EQUERY  [thread1] Error: listDatabasesfailed:{ "ok" : 0, "errmsg" : "not master andslaveOk=false", "code" : 13435 } :

_getErrorWithCode@src/mongo/shell/utils.js:23:13

Mongo.prototype.getDBs@src/mongo/shell/mongo.js:53:1

shellHelper.show@src/mongo/shell/utils.js:700:19

shellHelper@src/mongo/shell/utils.js:594:15

@(shellhelp2):1:1

MyMongo:SECONDARY>rs.slaveOk(true)

MyMongo:SECONDARY> show dbs

local 0.000GB

test 0.000GB

MyMongo:SECONDARY> use test

switched to db test

MyMongo:SECONDARY> showtables

t1

MyMongo:SECONDARY>db.t1.find()

{ "_id" :ObjectId("56e7dc310ebd75f9ef3546c1"), "name" :"licz" }

下面登錄從arbite節(jié)點(diǎn)進(jìn)行測試:

然后登錄arbite節(jié)點(diǎn),會發(fā)現(xiàn)數(shù)據(jù)沒有同步,因?yàn)閍rbite不參與數(shù)據(jù)庫的同步,即不存儲數(shù)據(jù)

但local數(shù)據(jù)庫大小已經(jīng)改變了,因?yàn)閘ocal庫存儲命名空間(local.ns文件)的內(nèi)容。

MyMongo:ABITER> rs.slaveOk(true)

MyMongo:ARBITER> show dbs

local 0.000GB

6.模擬主-從故障切換 –殺掉當(dāng)前主節(jié)點(diǎn)為28001端口

[mongod@devtest ~]$ ps -ef|grep mongo

root  7186 7150 0 09:15 pts/2  00:00:00 su - mongod

mongod 7187 7186 0 09:15 pts/2  00:00:00 -bash

mongod 7306 7187 0 09:16 pts/2  00:00:00 ps -ef

mongod 7307 7187 0 09:16 pts/2  00:00:00 grep mongo

mongod 16253  1 2 Mar15 ?    00:22:00 mongod -f/home/mongod/mongodb3.2.3/conf/28001.conf

mongod 16299  1 2 Mar15 ?    00:21:50 mongod -f/home/mongod/mongodb3.2.3/conf/28002.conf

mongod 16345  1 2 Mar15 ?    00:20:05 mongod -f/home/mongod/mongodb3.2.3/conf/28003.conf

[mongod@devtest ~]$ kill -9 16253

–發(fā)現(xiàn)主節(jié)點(diǎn)已經(jīng)切換至28002端口

[mongod@devtest ~]$ mongo 10.1.5.123:28002/admin

MongoDB shell version: 3.2.3

connecting to: 10.1.5.123:28002/admin

MyMongo:PRIMARY>

–再次啟動28001端口并登錄,發(fā)現(xiàn)28001已為從節(jié)點(diǎn)

[mongod@devtest ~]$ mongod -f /home/mongod/mongodb3.2.3/conf/28001.conf

about to fork child process, waiting untilserver is ready for connections.

forked process: 21410

child process started successfully, parentexiting

[mongod@devtest ~]$ mongo 10.1.5.123:28001/admin          

MongoDB shell version: 3.2.3

connecting to: 10.1.5.123:28001/admin

MyMongo:SECONDARY>

網(wǎng)頁題目:Mongodb復(fù)制集的安裝和部署
鏈接地址:http://m.5511xx.com/article/cooogsd.html