Mongodb叢集——master/slave

來源:互聯網
上載者:User

標籤:http   os   strong   檔案   資料   div   amp   log   

叢集的配置

(本測試放於同一台機器進行配置,所以IP地址一樣,如果是在不同的伺服器上更換IP便可以) 1、目錄結構     拷貝兩份mongodb到/home/scotte.ye/mongo1和/home/scotte.ye/mongo2 2、開啟mongodb 主:#cd /home/scotte.ye/mongo1/bin#./mongod --master -port=10111 -dbpath=/home/data/10111 -nohttpinterface &#這樣主伺服器就開啟了,幾個關鍵參數的說明(當然也可以自己查看協助,./mongod --help):--master:標識當前開啟的mongodb是作為主伺服器的-port:當前伺服器的監聽服務連接埠。預設27017-dbpath:批當前程式啟動並執行日誌儲存路徑。預設/data/db。注這個路徑mongodb不人自己建立,所以一定要自己手工來建立,否則程式不能正常啟動。-nohttpinterface:不開啟網頁介面,也就是不能通過網頁的形式查看伺服器運行狀態。預設是會在28017連接埠開啟一個網頁服務提供使用者查看伺服器狀態。因為當前都在同一個機器上,所以如果開啟這個兩個會產生衝突,所以不能開啟。 從:#cd /home/scotte.ye/mongo1/bin#./mongod --slave --source=192.168.35.106:10111 -port=10112 -dbpath=/home/data/10112 -nohttpinterface &#這是開啟一個從伺服器,多個從也是按相同的方式來開啟。幾個關鍵的參數說明:--slave:指明當前開啟的為從伺服器。--source:標明當前從伺服器要串連的主伺服器的連接埠和IP其它參數同主,所以不再贅述。  叢集特點 1、只有主伺服器允許寫入,其它從伺服器只能讀取。2、從伺服器啟動的時候馬上就會和主伺服器進行資料同步,所以不要擔心後起的從伺服器不會和主伺服器同步之前的資料,也不要我們自己手動操作。  叢集的主從切換 1、主機宕機,slave頂替
  • 停止slave的mongod進程
  • 刪除slave目錄下的local.*檔案
  • 以--master的模式啟動B
2、切換Master/Slave(原來的master是正常啟動並執行)
  • 用fsync命令暫停master的寫操作 //確保切換的時候主從資料同步
  • 關閉slave服務
  • 清空slave目錄下的local.*檔案
  • 用--master重啟slave為master
  • 在原來的slave也就是現在的master上面執行一次寫操作,產生oplog,擷取第一個同步點,因為slave與master的資料同步是通過oplog來實現的。所以這一步很重要,一定要完成。
  • 關閉現master服務,同時slave也會產生新的local.*檔案
  • 關閉原master,用現master上面的local.*檔案替換原master上面的local.*.因為檔案比較大,所以最好是壓縮拷貝
  • 再用--master選項重啟新master服務
  • 再用--slave的模式重啟原master服務,注意還要加一個-fastsync選項。這個和用fsync來暫停master有關
     如果原來的master不是正常的,那麼這個時候可以跳過第一步,拷貝新master的檔案到原master重啟服務就可以了。 3、更新主伺服器位置      假設原來從主機的啟動方式如下:     $ mongod --slave --source 192.168.35.106:10111     此時如果想更換主伺服器的地址,可以通過下面的方式:
  • 重啟mongod服務,不要加-slave 和 -source選項:$ mongod
  • 啟動shell執行如下操作:
    • > use local
    • switched to db local
    • >db.sources.update({host:"192.168.356.106:10111"},{$set:{host:"192.168.35.106:10112"}})
  • 接著再重啟伺服器:
    • $ ./mongod --slave --source=192.168.35.106:10112
    • $ # or
    • $ ./mongod --slave
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.