扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这篇文章给大家介绍MongoDB中怎么开启Oplog,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名与空间、虚拟空间、营销软件、网站建设、鹿城网站维护、网站推广。
配置过程
其实配置的过程比较简单。
step 1 : 在配置文件中 添加副本集参数(replSet);
step 2 :重启服务;
step 3:在local数据库或admin数据库执行初始化副本集的脚本,rs.initiate()。
注意事项
1. 在配置文件中增加副本集参数(replSet=??),MongoDB实例重启,第一次登入,执行其他命令时(例如:show dbs),会提示错误,错误信息如下,
{ "ok" : 0, "errmsg" : "not master and slaveOk=false", "code" : 13435, "codeName" : "NotMasterNoSlaveOk" }
此时一定要执行初始化的命令:
rs.initiate({ _id: "副本集名称", members: [{_id:0,host:"ServerIP:MongoDBPort"}]})
2 . 初始化时,请指明 Server信息和端口信息,否则初始化时可能报错,报错信息如下
"errmsg" : "No host described in new configuration 1 for replica set replwms maps to this node",
指定IP 和 端口,副本集名称,例如执行以下命令,OK
3 . 副本集初始化可以在admin中执行,不仅仅可以在local数据库中执行【真正的副本集建立多是在admin库中执行】。
而不像有些文章中要求的那样 :You just need to issuers.initiate()on thelocaldatabase:
4. 初始完,副本集中唯一的节点,可能短时间显示为SECONDARY或OTHER。一般而言,稍等一会,就会自然恢复为primary,无需人工干预。
或
如果数据库的数据量不大,并且长时间初始这种过渡状态(SECONDARY或OTHER),去看实例的日志,也显示无进展,此时可以考虑重启服务。
下面案例是我们实际遇到的一个场景,我们是通过重启服务解决此问题,角色由other重启转换为Primary
关于MongoDB中怎么开启Oplog就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流