91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

MongoDB復制集選舉原理管理

發布時間:2020-06-21 13:30:21 來源:網絡 閱讀:655 作者:回憶總想哭 欄目:MongoDB數據庫

MongoDB 復制集概述

MongoDB復制集選舉原理管理

  • 復制集是額外的數據副本,是跨多個服務器同步數據的過程,復制集提供了沉余添加了數據可用性,通過個復制集可以對硬件故障中斷的服務進行恢復
    復制集的優勢如下:
    1. 讓數據更安全。
    2. 高數據可用性(24*7)
    3. 災難恢復
    4. 無停機維護(如備份、索引重建、故障轉移)
    5. 讀縮放(額外的副本讀取)
    6. 副本集對應用程序是透明的。
      復制集工作原理
  • MongoDB 的復制集至少需要兩個節點,其中一個主節點(primary),負責處理客戶端的請求,其余的都是從節點(secondary),負責復制主節點上的數據。
  • MongoDB 各節點常見的搭配方式為:一主一從或者一主多從。主節點記錄其所有操作到oplog中,從節點定期輪詢主節點獲取這些操作,然后對自己的數據副本執行這些操作,從而保證從節點的數據與主節點譯者。
    復制集特點如下:
    1. N個節點群階
    2. 任何節點客作為主節點
    3. 所有寫入操作都在主節點
    4. 自動故障轉移
    5. 自動恢復
      開始部署
創建多實例 //創建多實例
關閉防火墻 setenforce  //一些阻擋項目
mkdir -p /data/mongodb/mongodb{2,3,4}     //創建數據目錄
mkdir logs  //到/data/mongodb/創建日志文件目錄
touch logs/mongodb{2,3,4}.log    //創建日志文件
cd logs/到目錄下
chmod 777 *.log     //賦予權限
//創建多實例配置文件,并開啟服務
mongod -f /etc/mongod.conf --shutdown  //修改完主配置文件并且進行關閉在開啟
mongod -f /etc/mongod.conf  //挨個開啟所有服務
進入默認的端口 開啟復制集
cp -p /etc/mongod.conf /etc/mongod2.conf  //地二個實例配置文件
vim /etc/mongod2.conf
   path: /data/mongodb/logs/mongod2.log               //系統日志存放路徑
   dbPath: /data/mongodb/mongo                   //數據存放日志
   port: 27018                  //端端口

mkdir -p  /data/mongodb/            //為其創建系統日志和數據存放日志沒有目錄
cd /data/mongodb/                         
mkdir mongo  
touch mongod2.log                              //為其創建系統日志文件
chmod 777 mongod2.log               //并且給與權限

mongod -f /etc/mongod2.conf         //開啟多實例服務
mongo --port 27018              //進入mongodb 27018
netstat -ntap                   //產看進程

cfg={"_id":"abc","members":[{"_id":0,"host":"192.168.10.5:27017","priority":100},{"_id":1,"host":"192.168.10.5:27018","priority":100},{"_id":2,"host":"192.168.10.5:27019","priority":0},{"_id":3,"host":"192.168.10.5:27020","arbiterOnly":true}]} //注意IP
優先級來判斷
priority":100  //高的做為表準節點
priority":0 //低的就作為被動節點
arbiterOnly":true  //仲裁節點
rs.initiate(cfg)  //初始化刷新 之后就可以看到自己的身份了
rs.isMaster()  //查看節點狀態
基本的增刪改查
db.t1.insert({"id":1,"name":"tom"})  //創建集合
db.t1.find()   //查看當前數據
db.t1.update({"id":2},{$set:{"name":"jack"}})  //修改指定內容
db.t1.remove({"id":1})     //刪除指定數據

MongoDB復制集選舉原理管理MongoDB復制集選舉原理管理MongoDB復制集選舉原理管理MongoDB復制集選舉原理管理

  • 模擬故障節點實驗是否能自動搶占
show dbs  //顯示所有數據庫
use local  //進入存放日志文件的數據庫
show collections  //顯示數據中的所有的集合
db.oplog.rs.find()   #查看日志記錄所有操作
模擬表準節點1故障
mongod -f /etc/mongod.conf --shutdown #關閉一主節點服務看看是否別的mongoDB有沒有搶占
mongo --port 27018   #此時會選舉第二個標準節點為主節點
模擬標注節點2故障
mongod -f /etc/mongod2.conf --shutdown  #關閉第二主節點
mongo --port 27019 #此時被動節點不能成為主節點
  • 允許從節點讀取數據
    rs.slaveOk() #允許默認從節點讀取數據
  • 查看復制狀態信息

MongoDB復制集選舉原理管理MongoDB復制集選舉原理管理
MongoDB復制集選舉原理管理
MongoDB復制集選舉原理管理
仲裁節點是不會復制信息
rs.help() #幫助信息
rs.printReplicationInfo() #查看日志文件大小信息
configured oplog size: 990MB #這個日志文件大小是可以修改的
rs.printSlaveReplicationInfo() #產看是和那個節點繼進行同步
#你會發現仲裁節點并不具備數據復制

- 更改oplog大小 零時修改
  1. 要去調整日志文件大小,從節點會去找主節點進行
    同步對方的文件從而自己也進行了擴容,對于主節點來
    說自己的日志文件大小寬裕為最佳,若不夠則可以零時
    進行調整 默認情況下990M,調整從節點
    1) 關閉節點服務,因為從節點是主節點復制集成員
    2)只能單獨的進行修改,先關閉服務在從復制集中退出來,推出來后就成了一個單實例 ,
    3)use admin #先關閉服務
    4)db.shutdownServer() #退出復制集 離線升級
    5)修改從節點配置文件
    6)mongod -f /etc/mongod2.conf //啟動服務
    7)mongo --port 27028 //登陸
    8)mongodump --port 27028 --db local --collection 'oplog.rs' //oplog進行完整性備份
    9)mongo --port 27028 //進端口
    10)use local

    db.oplog.rs.drop() //刪掉原來的文件
    11)db.runCommand( { create: "oplog.rs", capped: true, size: (2 1024 1024 * 1024) } ) //進行原型創建 改為2048
    12)use admin
    db.shutdownServer() //再次關閉服務
    13)再次修改回來原先的數據 在replication:
    replSetName: abc
    oplogSizeMB: 2048 //添加
    14)mongod -f /etc/mongod2.conf //重新開啟服務 mongo --port 27018 進入端口
    15)rs.printReplicationInfo() //此時就成了2048 支對但對修改有效
    16)rs.stepDown() #有效產生選舉 在主的里面讓出主的身份

    
    ![](https://s1.51cto.com/images/blog/201807/16/056486508bc79f8a63535d95c9d7251c.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)![](https://s1.51cto.com/images/blog/201807/16/00b2ec5ce686257662955fe84f94e759.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
    ![](https://s1.51cto.com/images/blog/201807/16/2a8d53ec8c61716800a096e3edfcbb8d.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)![](https://s1.51cto.com/images/blog/201807/16/9514d79b04857075aa1d7e6a1cdc1a05.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
    • 部署認證復制
1. 在主服務器上長創建用戶為root
use admin  
db.createUser({"user":"root","pwd":"123","roles":["root"]}) #創建用戶密碼
vim /etc/mongod.conf  //修改主配置文件
同步并且中間有一個認證  修改所有配置文件
security:
   keyFile: /usr/bin/kgcrskey1  //驗證文件路徑
   clusterAuthMode: keyFile    //驗證密鑰
重啟服務
mongod -f /etc/mongod.conf --shutdown
mongod -f /etc/mongod.conf              /其他幾臺的重啟方式都相同,重復操作即可
身份驗證登陸(先驗證主,再驗證從)
當你直接使用登陸命令登陸系統時,使用show dbs 是不能夠查看數據的,此時就需要使用身份驗證

mongo --port 27018
use admin
db.auth("root","123123")

MongoDB復制集選舉原理管理MongoDB復制集選舉原理管理

向AI問一下細節

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

AI

工布江达县| 四会市| 特克斯县| 临沭县| 越西县| 麻阳| 水富县| 温泉县| 石河子市| 库尔勒市| 资兴市| 高阳县| 府谷县| 雅安市| 义乌市| 会宁县| 昌宁县| 华安县| 银川市| 安庆市| 古蔺县| 阜康市| 松江区| 白玉县| 石屏县| 台北市| 台中县| 无极县| 塘沽区| 闻喜县| 久治县| 普兰县| 工布江达县| 油尖旺区| 中卫市| 鄂州市| 湘潭县| 涞源县| 夏河县| 余江县| 肥乡县|