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

溫馨提示×

溫馨提示×

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

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

部署MongoDB復制集(主從復制、讀寫分離、高可用)

發布時間:2020-08-10 20:47:53 來源:網絡 閱讀:3877 作者:你講多次 欄目:MongoDB數據庫

MongoDB 復制集

復制集(Replica Sets)是額外的數據副本,是跨多個服務器同步數據的過程,復制集提供了冗余備份并提高了數據的可用性,通過復制集可以對硬件故障和中斷的服務進行恢復。

MongoDB 復制集工作原理

  1. mongodb的復制集至少需要兩個節點。其中一個是主節點(Primary),負責處理客戶端請求,其余的都是從節點(Secondary),負責復制主節點上的數據。
  2. mongodb各個節點常見的搭配方式為:一主一從、一主多從。主節點記錄其上的所有操作到 oplog 中,從節點定期輪詢主節點獲取這些操作,然后對自己的數據副本執行這些操作,從而保證從節點的數據與主節點一致。
  3. 客戶端在主節點寫入數據,在從節點讀取數據,主節點與從節點進行數據交互保障數據的一致性。如果其中一個節點出現故障,其他節點馬上會將業務接過來而無需停機操作。

MongoDB 復制集的特點及優勢

  • 復制集的特點:

    • N個節點的群集
    • 任何節點都可作為主節點
    • 所有寫入操作都在主節點上
    • 自動故障轉移
    • 自動恢復
  • 復制集的優勢:
    • 讓數據更安全
    • 高數據可用性(24x7)
    • 災難恢復
    • 無停機維護(如備份、索引重建、故障轉移)
    • 讀縮放(額外的副本讀取)
    • 副本集對應用程序是透明的

MongoDB 復制集部署

我們可以在一臺服務器上創建多實例,來做復制集
MongoDB安裝及創建多實例詳解在博文CentOS 7安裝MongoDB(最新版4.0)

配置復制集

  1. 創建4個 MongoDB 實例
    # 創建實例的數據目錄
    mkdir -p /data/mongodb/mongodb{1,2,3,4}
     
    # 創建實例的日志目錄
    mkdir -p /data/logs
     
    # 創建實例的日志文件
    touch /data/logs/mongodb{1,2,3,4}.log
     
     # 賦予日志文件權限
     chmod 777 /data/logs/mongodb*.log
     
     #創建實例的配置文件存放位置
     mkdir -p /data/conf

     

  2. 創建配置文件,開啟復制集功能
    這里博主偷了個小懶,將配置文件存放在之前創建的 /data/conf/ 目錄下,后面創建的啟動腳本為實驗機的相對路徑
    # vim /data/conf/mongodb1.conf  //簡易配置為下,
        dbpath=/data/mongodb/mongodb1
        logpath=/data/logs/mongodb1.log
        port=27017
        replSet=testrc   #配置參數值為testrc
        logappend=true
        fork=true
        maxConns=5000  
        storageEngine=mmapv1

    需要注意其他三個實例的配置文件中的數據文件存放位置及日志文件和端口要改
     

  3. 編寫腳本方便對4條實例進行控制(這里用的是相對路徑,請根據實際修改)
    [root@CentOS7 conf]# cd /usr/local/mongodb/bin
    [root@CentOS7 bin]# vim mongodb
     
    #!/bin/bash
    INSTANCE=$1
    ACTION=$2
    case "$ACTION" in
    'start')
    /usr/local/mongodb/bin/mongod -f /data/conf/"$INSTANCE".conf;;
    'stop')
    /usr/local/mongodb/bin/mongod -f /data/conf/"$INSTANCE".conf --shutdown;;
    'restart')
    /usr/local/mongodb/bin/mongod -f /data/conf/"$INSTANCE".conf --shutdown
    /usr/local/mongodb/bin/mongod -f /data/conf/"$INSTANCE".conf;;
    esac
     
    [root@CentOS7 bin]# chmod +x mongodb
    [root@CentOS7 bin]# ./mongodb mongodb1 restart
    [root@CentOS7 bin]# ./mongodb mongodb2 restart
    [root@CentOS7 bin]# ./mongodb mongodb3 restart
    [root@CentOS7 bin]# ./mongodb mongodb4 restart
    [root@CentOS7 bin]# netstat -ntap | grep mongod

    部署MongoDB復制集(主從復制、讀寫分離、高可用)
     

  4. 配置三個節點的復制集
     
    4.1 查看復制集的狀態信息
    mongo    #(默認端口:27017)
    > rs.status()

    部署MongoDB復制集(主從復制、讀寫分離、高可用)
     
    4.2 定義cfg初始化參數(這里添加三臺,剩下的那臺實驗添加節點功能)

    > cfg={"_id":"testrc","members":[{"_id":0,"host":"192.168.125.119:27017"},{"_id":1,"host":"192.168.125.119:27018"},{"_id":2,"host":"192.168.125.119:27019"}]}

    部署MongoDB復制集(主從復制、讀寫分離、高可用)
     
    4.3 啟動復制集功能,初始化配置時保證從節點沒有數據,保持主從節點數據同步

    > rs.initiate(cfg)

     

  5. 添加節點
    testrc:PRIMARY>  rs.add("192.168.125.119:27020")

     

  6. 刪除節點
    testrc:PRIMARY>  rs.remove("192.168.125.119:27020")
向AI問一下細節

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

AI

申扎县| 仁寿县| 米林县| 休宁县| 沅陵县| 枞阳县| 密云县| 博乐市| 边坝县| 南漳县| 句容市| 图木舒克市| 雷波县| 郑州市| 桃园县| 察隅县| 白城市| 社会| 峨山| 永新县| 汉阴县| 喀喇| 塘沽区| 双鸭山市| 平邑县| 资溪县| 浙江省| 惠安县| 延寿县| 玛纳斯县| 隆尧县| 乌拉特前旗| 安陆市| 监利县| 高密市| 奉贤区| 崇文区| 白玉县| 东乡县| 红河县| 连江县|