mongoDB的兩個特性:主從複製、複本集

來源:互聯網
上載者:User

一、主從複製

1.主從複製是一個簡單的資料庫同步備份的叢集技術.

1.1在資料庫叢集中要明確的知道誰是主伺服器,主伺服器只有一台.

1.2從伺服器要知道自己的資料來源也就是對於的主服務是誰.

1.3--master用來確定主伺服器,--slave 和 –source 來控制從伺服器

1.主從複製叢集案例

2.主從複製的其他設定項

--only 從節點->指定複製某個資料庫,預設是複製全部資料庫

--slavedelay  從節點->設定主要資料庫同步資料的延遲(單位是秒)

--fastsync 從節點->以主要資料庫的節點快照為節點啟動從資料庫

--autoresync 從節點->如果不同步則從新同步資料庫

--oplogSize  主節點->設定oplog的大小(主節點操作記錄儲存到local的oplog中)

3.利用shell動態添加和刪除從節點

 

不難看出從節點中關於主節點的資訊全部存到local的sources的集合中

   我們只要對集合進行操作就可以動態操作主從關係

   掛接主節點:操作之前只留下從資料庫服務

   db.sources.insert({“host”:”127.0.0.1:8888”})

   刪除已經掛接的主節點:操作之前只留下從資料庫服務

   db.sources.remove({“host”:”127.0.0.1:8888”})

二、複本集概念

1.1第一張圖表明A是活躍的B和C是用於備份的

1.2第二張圖當A出現了故障,這時候叢集根據權重演算法推選出B為活躍的資料庫

1.3第三張圖當A恢複後他自動又會變為備份資料庫

2.初始化複本集

use admin

db.runCommand({"replSetInitiate":

  {

     "_id":'child',

      "members":[{

          "_id":1,

  "host":"127.0.0.1:1111"

      },{

  "_id":2,

  "host":"127.0.0.1:2222"

      },{

  "_id":3,

  "host":"127.0.0.1:3333"

      }]

   }

})

2.查看複本集狀態

rs.status()

3.節點和初始化進階參數

     standard 常規節點:參與投票有可能成為活躍節點

    passive 副本節點:參與投票,但是不能成為活躍節點

    arbiter 仲裁節點:只是參與投票不複製節點也不能成為活躍節點

4.進階參數

Priority 0到1000之間 ,0代表是副本節點 ,1到1000是常規節點

arbiterOnly : true 仲裁節點

用法

members":[{

"_id":1,

"host":"127.0.0.1:1111“,

arbiterOnly : true

}]”

5.優先順序相同時候仲裁組建的規則

對於優先順序相同的時候會根據時間,比如:A是活躍節點,B、C為複本集的時候,

當A宕機的時候,mongo會選擇B、C中更新時間最近的為活躍節點。

6.讀寫分離操作à擴充讀

    6.1一般情況下作為副本的節點是不能進行資料庫讀操作的

         但是在讀取密集型的系統中讀寫分離是十分必要的

   6.2設定讀寫分離

         slaveOkay :  true

         很遺憾他在shell中無法掩飾,這個特性是被寫到mongoDB的

          驅動程式中的,在java和node等其他語言中可以完成

7.Oplog

     他是被儲存在本機資料庫local中的,他的每一個文檔保證這一個節點操作

    如果想故障恢複可以更徹底oplog可已經盡量設定大一些用來儲存更多的操作

    資訊

    改變oplog大小

     主庫 --master --oplogSize  size

 

 

 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.