Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Linux系統教程 >> Linux教程 >> 長時間掛掉的mongo replica set slave服務器如何重新掛到set裡面

長時間掛掉的mongo replica set slave服務器如何重新掛到set裡面

日期:2017/2/7 14:35:50      編輯:Linux教程
 

背景:
正常工作的replica set 1主2從1裁決, 掛掉了一台(主或從),命名為F。
然後從rs.conf()中把掛掉的機器F刪除掉了。
過了個把月,F又修好了,硬盤沒壞,數據還在, 但是已經是很過時的數據了。

需求:
把這台機器F重新掛載到replica set中。

步驟:
0) 關閉F上面的mongodb。
保險的辦法是使用db.shutdownServer();

1) 在主服務器上,rs.add() 把F添加到replica set的配置中。

需要設置F為hidden狀態,以免前端模塊連接到這台機器上面。。

When this value is true, the replica set hides this instance and does not include the member in the output of db.isMaster() or isMaster. This prevents read operations (i.e. queries) from ever reaching this host by way of secondary read preference.

rs.add({_id: 10, host: “mongodb3.example.net:27017″, priority: 0, hidden: true})

priority為0表示它不參與投票成為主服務器的活動。

2) 刪除F的dbpath中的全部目錄和文件。

3) 啟動F上面的mongodb

cd /home/mongodb && numactl –interleave=all ./bin/mongod -f ./conf/mongod.conf >/dev/null 2>&1

然後就開始自動的主從同步了。

4) 考慮去掉hidden與priority屬性。

Copyright © Windows教程網 All Rights Reserved