您好,登錄后才能下訂單哦!
小編給大家分享一下mongodb開啟oplog的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
解決方案:在單實例上配置副本集,就有Oplog。
1.Linux服務器安裝Mongo
具體步驟請移駕 :https://www.jianshu.com/p/a6fc584d76e4
2.修改配置文件
# vi /etc/mongod.conf
文件末添加(yml文件注意格式)
replication: oplogSizeMB: 50 replSetName: rs
3.重啟服務
systemctl restart mongod.service
4.后續操作
4-1 登錄
# mongo
4-2 服務初始化
> show dbs
服務重啟后,第一次登入,執行其他命令時(例如:show dbs),會提示錯誤,錯誤信息如下:
E QUERY [thread1] Error: listDatabases failed:{ "ok" : 0, "errmsg" : "not master and slaveOk=false", "code" : 13435, "codeName" : "NotMasterNoSlaveOk" }
此時需要執行初始化命令
rs.initiate({ _id: "副本集名稱", members: [{_id:0,host:" 服務器的IP : Mongo的端口號 "}]}) 例如(對應上述配置): rs.initiate({ _id: "rs", members: [{_id:0,host:"172.30.23.213:27017"}]})
執行完成后提示,代表執行成功:
{ "ok" : 1 }
4-3 初始完后
初始完,副本集中唯一的節點,可能短時間顯示為SECONDARY或OTHER。一般而言,稍等一會,就會自然恢復為primary,無需人工干預。
rs:OTHER> rs:PRIMARY> rs:PRIMARY>
5.查看結果
使用Robo3T 連接數據庫查看 local 下的 Collections
6.可能出現的問題
(1)初始化時,請指明 Server信息和端口信息,否則初始化時可能報錯,報錯信息如下:
原因 :沒有指定IP 和 端口,副本集名稱
"errmsg" : "No host described in new configuration 1 for replica set replwms maps to this node",
(2)如果數據庫的數據量不大,并且長時間初始這種過渡狀態(SECONDARY或OTHER),去看實例的日志,也顯示無進展,此時可以考慮重啟服務。
看完了這篇文章,相信你對mongodb開啟oplog的方法有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。