欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Mongodb副本集實(shí)現(xiàn)-創(chuàng)新互聯(lián)

壽寧ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!

MongoDB副本集概述

以下圖片摘自MongoDB官方文檔:http://docs.mongodb.org/manual/core/replication-introduction/

Mongodb副本集實(shí)現(xiàn)

Primary節(jié)點(diǎn)接收客戶端所有的寫操作,整個(gè)副本集只會(huì)有一個(gè)primary節(jié)點(diǎn)。MongoDB副本集提供嚴(yán)格的一致性。主節(jié)點(diǎn)將所有的操作寫入一個(gè)叫oplog的capped collection(這個(gè)collection的大小一般為磁盤剩余空間的5%,不同的系統(tǒng)可能不一樣,詳見http://docs.mongodb.org/manual/core/replica-set-oplog/)中,secondary節(jié)點(diǎn)通過復(fù)制oplog并執(zhí)行oplog中的所有操作,因?yàn)閷?duì)oplog的執(zhí)行是冪等的,所以secondary節(jié)點(diǎn)上的數(shù)據(jù)可以保持和primary節(jié)點(diǎn)一樣,當(dāng)然這有一個(gè)“追趕”(catch up)的過程,會(huì)存在一定的落后(Lag)有時(shí)候因?yàn)榫W(wǎng)絡(luò)延遲或宕機(jī)導(dǎo)致從節(jié)點(diǎn)永遠(yuǎn)趕不上主節(jié)點(diǎn),這時(shí)候需要采取人為的干預(yù)了(后面會(huì)說到Resyncing Member of Replica Set)。

Mongodb副本集實(shí)現(xiàn)

默認(rèn)所有的讀操作也是走的primary節(jié)點(diǎn),當(dāng)然客戶端可以選擇從secondary節(jié)點(diǎn)進(jìn)行讀取操作以減小主節(jié)點(diǎn)的壓力(后面會(huì)對(duì)讀寫分離有詳細(xì)說明)。

各個(gè)節(jié)點(diǎn)之間是通過心跳機(jī)制來維持聯(lián)系的,當(dāng)主節(jié)點(diǎn)無法和集群中其他節(jié)點(diǎn)通信超過10秒,集群會(huì)從剩下的節(jié)點(diǎn)中選擇一個(gè)secondary作為primary,這個(gè)過程叫做選舉(election),每個(gè)secondary節(jié)點(diǎn)都有一個(gè)優(yōu)先級(jí)priority來參與投票(也可以有沒有投票權(quán)的secondary節(jié)點(diǎn)),priority值越大就越優(yōu)先成為主節(jié)點(diǎn)(所有的節(jié)點(diǎn)可以有相同的優(yōu)先級(jí),默認(rèn)值都是1)。election的策略不僅僅就是根據(jù)priority值來,會(huì)綜合很多其他的因素??傊甅ongoDB通過heartbeat和election機(jī)制實(shí)現(xiàn)了自動(dòng)的Failover:

Mongodb副本集實(shí)現(xiàn)

 副本集要求參與選舉投票(vote)的節(jié)點(diǎn)數(shù)為奇數(shù),這很容易理解。當(dāng)我們實(shí)際環(huán)境中因?yàn)闄C(jī)器等原因限制只有兩個(gè)(或偶數(shù))的節(jié)點(diǎn),這時(shí)為了實(shí)現(xiàn)Automatic Failover引入另一類節(jié)點(diǎn):仲裁者(arbiter),仲裁者只參與投票不擁有實(shí)際的數(shù)據(jù),因此它對(duì)物理資源要求不嚴(yán)格。

Mongodb副本集實(shí)現(xiàn)

上面已經(jīng)提到了primary,secondary和arbiter,整個(gè)MongoDB副本集群中除了這三種類型的節(jié)點(diǎn)還有其他幾種:

  • Secondary-Only:這種類型的節(jié)點(diǎn)和secondary節(jié)點(diǎn)一樣擁有數(shù)據(jù)副本,但是它們?cè)谌魏吻樾蜗露汲蔀椴涣藀rimary節(jié)點(diǎn)。

  • Hidden:這種類型的節(jié)點(diǎn)對(duì)客戶端程序來說是不可見的,同樣也不能成為primary節(jié)點(diǎn),但是Hidden成員能夠參與選舉投票。

  • Delayed:這種類型的成員通過人為的設(shè)置,可以指定一個(gè)時(shí)間來延遲從primary節(jié)點(diǎn)同步數(shù)據(jù)。Delayed成員的作用在于幫助集群從一些誤操作中恢復(fù),比如管理員誤刪除了某個(gè)集合。不至于迅速擴(kuò)散到整個(gè)集群中。因此Delayed節(jié)點(diǎn)必須不能成為primary節(jié)點(diǎn)(priority為0)并且是Hidden的。

  • Non-Voting:這就是上面提到了沒有選舉權(quán)的secondary節(jié)點(diǎn)。這種類型的節(jié)點(diǎn)一般當(dāng)集群節(jié)點(diǎn)數(shù)超過12才會(huì)需要。

簡(jiǎn)單副本集的搭建

主:192.168.1.100

從:192.168.1.101,192.168.1.102

1.首先已經(jīng)安裝完mongodb(我們使用rpm安裝)。

mongodb默認(rèn)端口為:27017

2.修改兩個(gè)從節(jié)點(diǎn)配置文件

service mongod stop  vim /etc/mongod.conf

取消注釋replSet,設(shè)置其名稱;并添加replIndexPrefetch項(xiàng)。如下:

Mongodb副本集實(shí)現(xiàn)

重啟服務(wù):

service mongod start

3.登錄到主節(jié)點(diǎn)命令行中

mongo>rs.status()  {     "startupStatus" : 3,     "info" : "run rs.initiate(...) if not yet done for the set", "ok" : 0, "errmsg" : "can't get local.system.replset config from self or any seed (YCONFIG)" }

啟動(dòng)一個(gè)新的副本集

>rs.initiate()   { "info2" : "no configuration explicitly specified -- making one", "me" : "Centos:27017", "info" : "Config now saved locally.  Should come online in about a minute "ok" : 1 }

在Mongo客戶端使用命令rs.initiate()來啟動(dòng)一個(gè)新的副本集。

我們可以使用rs.conf()來查看副本集的配置

查看副本集狀態(tài)使用 rs.status() 命令

副本集添加成員

添加副本集的成員,我們需要使用多條服務(wù)器來啟動(dòng)mongo服務(wù)。進(jìn)入Mongo客戶端,并使用rs.add()方法來添加副本集的成員。

語法

rs.add() 命令基本語法格式如下:

>rs.add(Host_NAME:PORT)

添加兩個(gè)從節(jié)點(diǎn)成員:

testSet:PRIMARY> rs.add("192.168.1.101") --默認(rèn)27017不用指定 { "ok" : 1 } testSet:PRIMARY> rs.add("192.168.1.102") { "ok" : 1 }

此時(shí),查看副本集狀態(tài):

testSet:PRIMARY> rs.status() { "set" : "testSet", "date" : ISODate("2017-03-22T07:58:26Z"), "myState" : 1, "members" : [ { "_id" : 0, "name" : "Centos:27017", "health" : 1, "state" : 1, "stateStr" : "PRIMARY", "uptime" : 1293, "optime" : Timestamp(1490168420, 1), "optimeDate" : ISODate("2017-03-22T07:40:20Z"), "electionTime" : Timestamp(1490168213, 11), "electionDate" : ISODate("2017-03-22T07:36:53Z"), "self" : true }, { "_id" : 1, "name" : "192.168.1.101:27017", "health" : 1, "state" : 2, "stateStr" : "SECONDARY", "uptime" : 1146, "optime" : Timestamp(1490168420, 1), "optimeDate" : ISODate("2017-03-22T07:40:20Z"), "lastHeartbeat" : ISODate("2017-03-22T07:58:25Z"), "lastHeartbeatRecv" : ISODate("2017-03-22T07:58:25Z"), "pingMs" : 1, "syncingTo" : "Centos:27017" }, { "_id" : 2, "name" : "192.168.1.102:27017", "health" : 1, "state" : 2, "stateStr" : "SECONDARY", "uptime" : 1086, "optime" : Timestamp(1490168420, 1), "optimeDate" : ISODate("2017-03-22T07:40:20Z"), "lastHeartbeat" : ISODate("2017-03-22T07:58:25Z"), "lastHeartbeatRecv" : ISODate("2017-03-22T07:58:24Z"), "pingMs" : 1, "lastHeartbeatMessage" : "syncing to: Centos:27017", "syncingTo" : "Centos:27017" } ], "ok" : 1 }

測(cè)試:

在主節(jié)點(diǎn)創(chuàng)建新庫,并插入新數(shù)據(jù):

testSet:PRIMARY> show dbs; admin  (empty) local  6.075GB testSet:PRIMARY> use test switched to db test testSet:PRIMARY> show dbs admin  (empty) local  6.075GB testSet:PRIMARY> db.test.insert({"name":"菜鳥教程"}) WriteResult({ "nInserted" : 1 }) testSet:PRIMARY> show dbs admin  (empty) local  6.075GB test   0.078GB

查看從節(jié)點(diǎn)信息:

testSet:SECONDARY> show dbs; admin  (empty) local  6.075GB test   0.078GB testSet:SECONDARY> db.test.find() { "_id" : ObjectId("58d231485934aa983f070c99"), "name" : "菜鳥教程" }

問題及解決:
1.初始化副本集時(shí)報(bào)錯(cuò):

>rs.initialte() {     ....      "errmsg" "couldn't initiate : can't find self in the replset config" ,"ok" : 0     .... }

解決:編輯hosts文件添加主機(jī)名稱解析,之后重新初始化副本集。

[root@Centos ~]# vim /etc/hosts 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6 127.0.0.1 Centos

2.添加副本集成員時(shí)報(bào)錯(cuò):

testSet:PRIMARY> rs.add("192.168.1.101:27017") { "errmsg" : "exception: need most members up to reconfigure, not ok : 192.1.101:27017", "code" : 13144, "ok" : 0 }

解決:由于從節(jié)點(diǎn)配置文件中bind綁定為127.0.0.1的ip信息,從而導(dǎo)致不能添加192端的ip,將其bind注釋掉。

Mongodb副本集實(shí)現(xiàn)

3.添加完成員,查看副本集狀態(tài)時(shí),節(jié)點(diǎn)一直 顯示如:"stateStr" : "UNKNOWN"

Mongodb副本集實(shí)現(xiàn)

解決:問題的原因是rs.initiate()默認(rèn)將primary的host鍵設(shè)置成機(jī)器的主機(jī)名,如下:

Mongodb副本集實(shí)現(xiàn)

1)可以編輯兩個(gè)從節(jié)點(diǎn)的hosts文件添加主節(jié)點(diǎn)主機(jī)名和Ip信息,如:

[root@RedHat-1 ~]# vim /etc/hosts 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.1.100 Centos

2)可以將primary的主機(jī)名改成IP地址:

cfg = rs.conf() cfg.members[0].host = "192.168.1.100:27017" rs.reconfig(cfg)

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

本文名稱:Mongodb副本集實(shí)現(xiàn)-創(chuàng)新互聯(lián)
新聞來源:http://aaarwkj.com/article32/ccpjsc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、微信小程序網(wǎng)頁設(shè)計(jì)公司、域名注冊(cè)、關(guān)鍵詞優(yōu)化App設(shè)計(jì)

廣告

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

搜索引擎優(yōu)化
人妻勾引中文字幕在线视频| 日本欧美一区二区三区高清| 一区二区三区福利视频在线观看 | 最新亚洲国产高清激情| 97视频网站在线观看| 日本一区二区电影在线看| 国产大神91一区二区三区| 四虎在线观看免费资源| 美女丝袜美腿魅惑男人| 久久一区二区三区播放| 在线精品91国产在线观看| 亚洲 欧美 日韩一区| 亚洲精品伦理视频在线| 国产成人性生交大片免费| 日本sm视频在线观看| 国产成人亚洲精品乱码| 欧美日韩亚洲中文综合网| 国产高清av免费观看| 国产一区二区在线不卡播放| 国产成人免费自拍一区| 日韩一区二区亚洲精品| 亚洲一区在线观看蜜臀| 日本中文字幕三级专区| 日韩无遮挡免费在线观看| 亚洲精品在线播放av| 国产传媒在线视频观看| 国产精品自偷自偷自偷| 日本高清视频免费一区| 日韩精品少妇一区二区在线看| 日韩毛片资源在线观看| 国产av剧情一区二区| 亚洲人成网站在线免费看| 亚洲乱码中文字幕久久| 日本午夜福利视频在线观看| 日韩新片免费专区在线| 正在播放日韩黄色精品| 亚洲视频在线男人天堂| 日本一区二区三区日韩欧美| 亚洲情色精品国产一区| 欧美三级伦理片免费观看| 日韩精品亚洲一区二区三区免费 |