mongodb將備機提升為主機
方法1 只需要直接將主機的配置資訊priority改成比其他節點大即可
rs0:PRIMARY> var c = rs.conf()rs0:PRIMARY> c.members[0].priority = 2
2
rs0:PRIMARY> rs.reconfig(c)
{ "ok" : 1 }
過幾秒鐘,members[0]就變成主庫了,原主機就變成備庫了。
方法2 把不想成為主庫的節點暫時凍結。然後把主庫降級。
現有節點:
1 primary
2 secondary
3 secondary
4 arbiter
在2號執行
(凍結200秒,200秒內不能參與投票)
rs0:SECONDARY> rs.freeze(200)
{ "ok" : 1 }
{ "ok" : 1 }
在1號執行
(主庫降級為備庫,並且在200秒之內不能參與投票)
rs0:PRIMARY> rs.stepDown(200)
2015-03-18T13:54:46.217+0800 I NETWORK DBClientCursor::init call() failed
2015-03-18T13:54:46.235+0800 E QUERY Error: error doing query: failed
at DBQuery._exec (src/mongo/shell/query.js:83:36)
at DBQuery.hasNext (src/mongo/shell/query.js:240:10)
at DBCollection.findOne (src/mongo/shell/collection.js:186:19)
at DB.runCommand (src/mongo/shell/db.js:58:41)
at DB.adminCommand (src/mongo/shell/db.js:66:41)
at Function.rs.stepDown (src/mongo/shell/utils.js:1001:43)
at (shell):1:4 at src/mongo/shell/query.js:83
2015-03-18T13:54:46.237+0800 I NETWORK trying reconnect to 127.0.0.1:4444 (127.0.0.1) failed
2015-03-18T13:54:46.238+0800 I NETWORK reconnect 127.0.0.1:4444 (127.0.0.1) ok
2015-03-18T13:54:46.217+0800 I NETWORK DBClientCursor::init call() failed
2015-03-18T13:54:46.235+0800 E QUERY Error: error doing query: failed
at DBQuery._exec (src/mongo/shell/query.js:83:36)
at DBQuery.hasNext (src/mongo/shell/query.js:240:10)
at DBCollection.findOne (src/mongo/shell/collection.js:186:19)
at DB.runCommand (src/mongo/shell/db.js:58:41)
at DB.adminCommand (src/mongo/shell/db.js:66:41)
at Function.rs.stepDown (src/mongo/shell/utils.js:1001:43)
at (shell):1:4 at src/mongo/shell/query.js:83
2015-03-18T13:54:46.237+0800 I NETWORK trying reconnect to 127.0.0.1:4444 (127.0.0.1) failed
2015-03-18T13:54:46.238+0800 I NETWORK reconnect 127.0.0.1:4444 (127.0.0.1) ok
3號節點變成主庫
rs0:PRIMARY> rs.isMaster()
{
"setName" : "rs0",
"setVersion" : 10,
"ismaster" : true,
"secondary" : false,
"hosts" : [
"db11:4444",
"1.1.1.101:4001",
"1.1.1.102:4002"
],
"arbiters" : [
"1.1.1.100:4000"
],
"primary" : "1.1.1.102:4002",
"me" : "1.1.1.102:4002",
"electionId" : ObjectId("550913287121d6dc4a60de08"),
"maxBsonObjectSize" : 16777216,
"maxMessageSizeBytes" : 48000000,
"maxWriteBatchSize" : 1000,
"localTime" : ISODate("2015-03-18T05:55:34.651Z"),
"maxWireVersion" : 3,
"minWireVersion" : 0,
"ok" : 1
}
{
"setName" : "rs0",
"setVersion" : 10,
"ismaster" : true,
"secondary" : false,
"hosts" : [
"db11:4444",
"1.1.1.101:4001",
"1.1.1.102:4002"
],
"arbiters" : [
"1.1.1.100:4000"
],
"primary" : "1.1.1.102:4002",
"me" : "1.1.1.102:4002",
"electionId" : ObjectId("550913287121d6dc4a60de08"),
"maxBsonObjectSize" : 16777216,
"maxMessageSizeBytes" : 48000000,
"maxWriteBatchSize" : 1000,
"localTime" : ISODate("2015-03-18T05:55:34.651Z"),
"maxWireVersion" : 3,
"minWireVersion" : 0,
"ok" : 1
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26239116/viewspace-1485432/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 單機切換為主備Oracle
- oracle 12c主機徹底掛機用failover把備機設定為主機OracleAI
- mongodb主從備份MongoDB
- 將某一主機域名解析為IP地址。 (轉)
- 將某一主機域名解析為IP地址 (轉)
- windows主機下使用rman恢復備份到不同主機Windows
- G胖暗示Valve將為主機平臺推出遊戲遊戲
- 天翼云云主機快照、雲硬碟備份、雲主機備份之間的區別硬碟
- MySQL 主從複製,雙機熱備MySql
- Linux 主機的硬體配備Linux
- DataGaurd環境主庫崩潰後將備庫切為主庫
- 將u盤從虛擬機器切回到主機的方法虛擬機
- 防火牆的雙機熱備1:主備、負載方式防火牆負載
- 遊戲大廠加碼主機遊戲,國內主機遊戲市場或將再次崛起遊戲
- MongoDB在不同主機間複製資料庫和集合MongoDB資料庫
- 加入視覺:將計算機改造為機器人視覺計算機機器人
- 為什麼iOS本機系統共享本機備份功能並將其儲存到“檔案”中?iOS
- Nginx+keepalived 雙機熱備(主主模式)Nginx模式
- Nginx+keepalived 雙機熱備(主從模式)Nginx模式
- 什麼是工控主機?工控主機安卓主機板有哪些配置?安卓
- Linux修改主機名(靜態主機名、臨時主機名)Linux
- openGauss 支援備機build備機UI
- 物理裸機配置如何轉換為天翼云云主機配置
- 將手機號轉化為由隨機字母表示隨機
- 次世代主機:為什麼我們還將繼續玩30幀的遊戲遊戲
- MongoDB 複製機制MongoDB
- mongoDB當機修復MongoDB
- GoDaddy虛擬主機與VPS主機怎麼選?3分鐘為你解析!Go
- USB主機
- 蘋果奇葩規定:備用機不按時還將沒收送修機蘋果
- SANGFOR NGAF雙機主備專線故障的排查
- 巧用天翼雲盤備份雲主機資料
- 【VMware VCF】VMware Cloud Foundation Part 04:準備 ESXi 主機。Cloud
- 學一點 mysql 雙機異地熱備份----快速理解mysql主從,主主備份原理及實踐MySql
- BlueHost主機和GoDaddy主機哪個好Go
- solaris 主機修改主機名 ip地址 步驟
- HP主機訪問動態IP主機配置
- 備份一體機——為簡化備份架構而生架構