真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

MongoDB復制集角色類型詳解-創(chuàng)新互聯(lián)

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

             MongoDB復制集角色類型

MongoDB復制集角色類型

1、標準節(jié)點: 參與primary選舉,當自身宕機或停止服務(wù)會自動讓出primary

2、被動節(jié)點: 只能成為second 不參與選舉,被設(shè)置為被動節(jié)點則不能參與選舉

3、仲裁節(jié)點:負責投票選舉,不存放數(shù)據(jù),確保標準節(jié)點投票數(shù)不會相同

用實驗來驗證一下標準節(jié)點互相搶占和被動節(jié)點不會搶占以及仲裁節(jié)點不存放數(shù)據(jù)。

利用MongoDB多實例進行實驗,yum安裝MongoDB以及開啟多實例請參考以下

我的另一篇博客:https://blog.51cto.com/13760226/2174032

實驗角色

●標準節(jié)點1:192.168.60.135:27017

●標準節(jié)點2:192.168.60.135:27018

●被動節(jié)點 :192.168.60.135:27019

●仲裁節(jié)點 :192.168.60.135:27020

一、修改配置文件

vim /etc/mongod.conf

systemLog:    #日志模塊下修改日志文件路徑

 destination: file

 logAppend: true

 path: /usr/local/mongodb/mongod1.log

(剩下實例也要修改,例:mongod2.log,mongod3.log,mongod4.log)

storage:   #存儲模塊下修改數(shù)據(jù)配置文件

 dbPath: /usr/local/mongo1

(同上,例:mongo2,mongo3,mongo4)

net:

 port: 27017     每個實例端口號不能相同(例:27018,27019,27020)

 bindIp: 0.0.0.0   監(jiān)聽任意地址

直接添加如下兩行,開啟復制集

replication:

 replSetName: repl

二、復制配置文件,創(chuàng)建各自數(shù)據(jù)存放目錄

cp /etc/mongod.conf /etc/mongod2.conf

cp /etc/mongod.conf /etc/mongod3.conf

cp /etc/mongod.conf /etc/mongod4.conf

mkdir /usr/local/mongo{1,2,3,4}  #一次創(chuàng)建4個數(shù)據(jù)存放目錄(與配置文件的對應(yīng))

mkdir /usr/local/mongodb #創(chuàng)建日志存放目錄

touch mongod{1,2,3,4}.log  #創(chuàng)建實例對應(yīng)日志文件

(注意:不要忘記修改復制的配置文件,端口號不能相同)

三、開啟多實例,設(shè)置標準,被動,仲裁節(jié)點

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

[root@localhost ~]#mongod -f /etc/mongod2.conf

[root@localhost ~]#mongod -f /etc/mongod3.conf

[root@localhost ~]#mongod -f /etc/mongod4.conf

[root@localhost mongodb]# netstat -ntap | grep mongod

tcp    0   0 0.0.0.0:27019      0.0.0.0:*        LISTEN   2280/mongod

tcp    0   0 0.0.0.0:27020      0.0.0.0:*        LISTEN   2308/mongod

tcp    0   0 0.0.0.0:27017      0.0.0.0:*        LISTEN   2224/mongod

tcp    0   0 0.0.0.0:27018      0.0.0.0:*        LISTEN   2252/mongod

1)進入其中一個Mongodb進行設(shè)置,本文以27017為例

mongo進入數(shù)據(jù)庫,設(shè)置如下

>cfg={"_id":"repl","members":

[{"_id":0,"host":"192.168.60.135:27017","priority":100},

{"_id":1,"host":"192.168.60.135:27018","priority":100},

{"_id":2,"host":"192.168.60.135:27019","priority":0},

{"_id":3,"host":"192.168.60.135:27020","arbiterOnly":true}]}

cfg只是一個名字,類似于變量。將27017和27018優(yōu)先級設(shè)置為100,

27019的優(yōu)先級為0,沒有資格參與選舉,27020設(shè)置為arbite,為仲裁復制集。

> rs.initiate(cfg)        #進行初始化

{               #提示如下信息

            "ok" : 1,

            "operationTime" : Timestamp(1536851525, 1),

            "$clusterTime" : {

                    "clusterTime" : Timestamp(1536851525, 1),

                    "signature" : {

                            "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),

                             "keyId" : NumberLong(0)

                        }

                  }

     }

2)查看狀態(tài)

repl:PRIMARY> rs.status()

MongoDB復制集角色類型詳解

MongoDB復制集角色類型詳解

MongoDB復制集角色類型詳解

27017被選為標準節(jié)點,27018有選舉權(quán)但是已經(jīng)有標準節(jié)點,所以變?yōu)楸粍庸?jié)點,

27019被選為被動節(jié)點,27020被設(shè)置為仲裁節(jié)點。

四、驗證

1)驗證標準節(jié)點會互相搶占

repl:PRIMARY> rs.stepDown()  #主動放棄主復制權(quán)

MongoDB復制集角色類型詳解

MongoDB復制集角色類型詳解

2)驗證被動節(jié)點不搶占

[root@localhost ~]# mongod -f /etc/mongod.conf --shutdown

killing process with pid: 2224

[root@localhost ~]# mongod -f /etc/mongod2.conf --shutdown

killing process with pid: 2252

關(guān)閉27017和27018的MongoDB

[root@localhost ~]# mongo -port 27019  #進入mongodb端口27019

 >rs.status()

MongoDB復制集角色類型詳解

MongoDB復制集角色類型詳解

MongoDB復制集角色類型詳解

結(jié)論:當兩臺標準節(jié)點宕機時,被動節(jié)點也不會頂替成為標準節(jié)點,因為沒有選舉權(quán)。

3)驗證仲裁服務(wù)器不存儲數(shù)據(jù)

開啟MongoDB27017端口

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

mongo  #登陸

use list;  #創(chuàng)建一個數(shù)據(jù)庫

db.list.insert({"name":"zhangsan"})   創(chuàng)建list集合并插入信息

repl:PRIMARY> db.list.find();       查詢list

{ "_id" : ObjectId("5b9a8ae579c4aae2378a4fd6"), "name" : "zhangsan" }

然后我們切換到27020仲裁服務(wù)器

[root@localhost ~]# mongo -port 27020

rs.slaveOk()  #先輸出該命令,不然無法查看

repl:ARBITER> show dbs;    #查看數(shù)據(jù)庫

local 0.000GB      #只能看見一個數(shù)據(jù)庫local

結(jié)論:仲裁服務(wù)器只負責投票選舉,不參與數(shù)據(jù)存儲

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


本文名稱:MongoDB復制集角色類型詳解-創(chuàng)新互聯(lián)
標題網(wǎng)址:http://weahome.cn/article/jsicg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部