亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MongoDB復制集角色類型詳解

發布時間:2020-06-07 07:30:57 來源:網絡 閱讀:1592 作者:丁香花下 欄目:MongoDB數據庫


                      MongoDB復制集角色類型

MongoDB復制集角色類型

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

2、被動節點: 只能成為second 不參與選舉,被設置為被動節點則不能參與選舉

3、仲裁節點:負責投票選舉,不存放數據,確保標準節點投票數不會相同


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

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

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


實驗角色

●標準節點1:192.168.60.135:27017

●標準節點2:192.168.60.135:27018

●被動節點 :192.168.60.135:27019

●仲裁節點 :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:      #存儲模塊下修改數據配置文件

  dbPath: /usr/local/mongo1

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


net:

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

  bindIp: 0.0.0.0     監聽任意地址


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

replication: 

  replSetName: repl



二、復制配置文件,創建各自數據存放目錄

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}    #一次創建4個數據存放目錄(與配置文件的對應)

mkdir /usr/local/mongodb  #創建日志存放目錄

touch mongod{1,2,3,4}.log   #創建實例對應日志文件

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


三、開啟多實例,設置標準,被動,仲裁節點

[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進行設置,本文以27017為例

mongo進入數據庫,設置如下

>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優先級設置為100,

27019的優先級為0,沒有資格參與選舉,27020設置為arbite,為仲裁復制集。


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

{                              #提示如下信息

            "ok" : 1,

            "operationTime" : Timestamp(1536851525, 1),

            "$clusterTime" : {

                    "clusterTime" : Timestamp(1536851525, 1),

                    "signature" : {

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

                             "keyId" : NumberLong(0)

                        }

                    }

      }


2)查看狀態

repl:PRIMARY> rs.status()


MongoDB復制集角色類型詳解

MongoDB復制集角色類型詳解

MongoDB復制集角色類型詳解


27017被選為標準節點,27018有選舉權但是已經有標準節點,所以變為被動節點,

27019被選為被動節點,27020被設置為仲裁節點。


四、驗證

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

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


MongoDB復制集角色類型詳解

MongoDB復制集角色類型詳解



2)驗證被動節點不搶占

[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

關閉27017和27018的MongoDB

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

  >rs.status()


MongoDB復制集角色類型詳解

MongoDB復制集角色類型詳解

MongoDB復制集角色類型詳解


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


3)驗證仲裁服務器不存儲數據


開啟MongoDB27017端口

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

mongo    #登陸


use list;    #創建一個數據庫

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

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

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


然后我們切換到27020仲裁服務器

[root@localhost ~]# mongo -port 27020

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


repl:ARBITER> show dbs;     #查看數據庫

local  0.000GB           #只能看見一個數據庫local


結論:仲裁服務器只負責投票選舉,不參與數據存儲


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

沛县| 巫溪县| 浦城县| 吉首市| 汕尾市| 岱山县| 高雄市| 登封市| 鹰潭市| 临猗县| 大足县| 汤原县| 内乡县| 承德市| 江陵县| 射洪县| 长白| 鸡东县| 崇仁县| 江川县| 孟村| 五台县| 无极县| 汽车| 巴里| 吉水县| 孝昌县| 方城县| 浦城县| 保定市| 临夏县| 上思县| 民县| 南投县| 邵阳市| 佛学| 得荣县| 南汇区| 留坝县| 睢宁县| 新兴县|