iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MongoDB Replica Set排错
  • 229
分享到

MongoDB Replica Set排错

2024-04-02 19:04:59 229人浏览 安东尼
摘要

1.检查Replica Set的状态使用db.runCommand({"replSetGetStatus" : 1});或者rs.status();2.检查复制延迟时间source:  

1.检查Replica Set的状态

使用db.runCommand({"replSetGetStatus" : 1});或者rs.status();


2.检查复制延迟时间

source:   m1.example.net:30001
    syncedTo: Tue Oct 02 2012 11:33:40 GMT-0400 (EDT)
        = 7475 secs aGo (2.08hrs)source:   m2.example.net:30002
    syncedTo: Tue Oct 02 2012 11:33:40 GMT-0400 (EDT)
        = 7475 secs ago (2.08hrs)

复制延迟的可能原因有:

网络延迟

     可以使用ping和traceroute命令探测网络状况

磁盘吞吐量

     如果Secondary的磁盘不能像Primary的磁盘那样快速将数据刷新到磁盘上,将不能和Primary保持同步更新。可以使用iOStat或者vmstat检查磁盘使用状况


并发

     在某些情况下,如果Primary上长期有操作,那么可能会阻断Secondary的复制操作。可以考虑write concern 。再则就是查看是否有慢查询。

Appropriate Write Concern        

  • Replica Acknowledge Write Concern

  • Replica Set Write Concern



3.所有成员间的连接测试

 Replica Set之间的成员需要能够相互连通,检查防火墙设置。


4.重启多个Secondar的Socket Exceptions问题

当重启Replica Set中的多个成员时,确保可以选出一个Primary。如果在维护的过程中程序出现socket连接错误,可以检查tcp的keepalive设置。

cat /proc/sys/net/ipv4/tcp_keepalive_time

linux下默认设置tcp_keepalive_time为7200秒,即两个小时。可以将所有的mongoDB实例所在的服务器的这个值设置成300秒。

echo 300 > /proc/sys/net/ipv4/tcp_keepalive_time

这种设置重启后将消失,需要重新修改。可以直接修改/etc/sysctl.conf然后执行sysctl -p



5.检查Oplog的大小

oplog越大,能够接受得延迟就越大。

使用db.printReplicationInfo();查看oplog的大小

 db.printReplicationInfo();
configured oplog size:   50278.6203125MB
log length start to end: 143109secs (39.75hrs)
oplog first event time:  Wed Mar 18 2015 00:36:53 GMT+0800 (CST)
oplog last event time:   Thu Mar 19 2015 16:22:02 GMT+0800 (CST)
now:                     Thu Mar 19 2015 17:32:42 GMT+0800 (CST)

如果重新设置oplog的大小需要将所有的成员都设置成为大小一样


6.Oplog Entry Timestamp Error

如果日志中出现如下报错

replSet error fatal couldn't query the local local.oplog.rs collection.  Terminating mongod after 30 seconds.
<timestamp> [rsStart] bad replSet oplog entry?



参考资料:

Http://docs.mongodb.org/v2.4/tutorial/troubleshoot-replica-sets/

http://john88wang.blog.51cto.com/2165294/1564543

http://docs.mongodb.org/v2.4/faq/diagnostics/#faq-keepalive



您可能感兴趣的文档:

--结束END--

本文标题: MongoDB Replica Set排错

本文链接: https://www.lsjlt.com/news/35797.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 【Mongodb】 Replica set的自动故障切换
    Replica set 为我们提供了自动故障切换功能,这个机制是由mongodb自己来操作的,它根据从库的优先级或者数据新鲜度(也就是最新的从主库同步数据的那个节点)来选择primary,而当以前的prim...
    99+
    2024-04-02
  • 如何搭建mongodb架构Replica Set&Sharding—ttlsa
    本篇文章给大家分享的是有关如何搭建mongodb架构Replica Set&Sharding—ttlsa,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小...
    99+
    2024-04-02
  • MongoDB添加仲裁节点报错replica set IDs do not match怎么办
    这篇文章将为大家详细讲解有关MongoDB添加仲裁节点报错replica set IDs do not match怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。背景...
    99+
    2024-04-02
  • MongoDB Replica Sets该怎样搭建
    本篇文章给大家分享的是有关MongoDB Replica Sets该怎样搭建,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。  无论我们学习什么...
    99+
    2024-04-02
  • mongodb中怎么开启set认证
    本篇文章给大家分享的是有关mongodb中怎么开启set认证,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。环境:系统均为Centos 7,mo...
    99+
    2024-04-02
  • mongodb怎么降序排序
    mongodb中降序排序的方法:在mongodb中可以使用sort() 方法对数据进行排序,如果是需要进行降序排序的话,可以使用参数-1来指定排序的方式,语法格式如:“db.COLLECTION_NAME.find().sort({KEY:...
    99+
    2024-04-02
  • mongodb中文是如何排序的
    在MongoDB中,可以使用collation选项来指定中文排序规则。通过collation选项,可以设置不同的排序规则,如大小写不...
    99+
    2023-08-30
    mongodb
  • mongodb数组元素如何排序
    在MongoDB中,您可以使用$sort操作符对数组元素进行排序。$sort操作符接受一个对象参数,其中键是要排序的字段,值是排序的...
    99+
    2023-09-01
    mongodb
  • python操作MongoDB(插、查、改、排、删)
    🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝&#...
    99+
    2023-09-01
    sql mongodb mysql
  • MongoDB对指定键进行排序
    1.查看集合 show collections2.查看所有数据 db.runoob.find().pretty()3.通过view进行升序 db.runoob.find({'title':/...
    99+
    2024-04-02
  • mongodb怎么实现时间排行榜
    要实现时间排行榜,可以使用MongoDB的聚合管道和索引来完成。首先,你需要在文档中加入一个时间字段,例如`created_at`,...
    99+
    2023-09-01
    mongodb
  • 详解MongoDB的条件查询和排序
    目录find 方法 条件组合 比较操作符 IN 查询 限制返回结果条数和跳过数据 排序 总结 find 方法 查询的基本格式是db.collection.find({条件}),其中...
    99+
    2024-04-02
  • 如何进行MongoDB排除查询$ne缺陷
    本篇文章给大家分享的是有关如何进行MongoDB排除查询$ne缺陷,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。    ...
    99+
    2024-04-02
  • mongodb排序分页非常慢如何解决
    在 MongoDB 中进行排序和分页操作可能会变慢的原因有很多,下面列出一些可能的解决方案:1. 创建适当的索引:确保你在用于排序和...
    99+
    2023-09-04
    mongodb
  • mongodb排序分页非常慢怎么解决
    有几种方法可以优化 MongoDB 的排序分页操作: 创建索引:为排序字段和查询字段创建合适的索引,可以显著提高排序分页操作的性...
    99+
    2024-04-02
  • mongodb排序分页非常慢怎么优化
    优化 MongoDB 排序分页的性能,可以考虑以下几个方面: 索引优化:确保所查询的字段上有合适的索引。对于排序字段和分页字段,可...
    99+
    2023-10-22
    mongodb
  • MongoDB为什么在数据库排行前五
    这篇文章主要介绍了MongoDB为什么在数据库排行前五,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。DB-Engines 数据库流...
    99+
    2024-04-02
  • MongoDB中数组排序的方法有哪些
    在MongoDB中,可以使用以下方法对数组进行排序: 使用$sort操作符对数组元素进行排序,例如: db.collection...
    99+
    2024-04-19
    MongoDB
  • java中 Set与Map排序输出到Writer详解及实例
     java中 Set与Map排序输出到Writer详解及实例一般来说java.util.Set,java.util.Map输出的内容的顺序并不是按key的顺序排列的,但是java.util.TreeMap,java.util.Tr...
    99+
    2023-05-31
    java set map
  • 浅析stl序列容器(map和set)的仿函数排序
    问题:set是一个自动有序的集合容器,这是set的一个最实惠的性质,从小到大,只要你插入进去,就有序了。但是,如果你不想要这个顺序呢,是不是可以人为控制set容器的元素顺序呢?答案是...
    99+
    2022-11-15
    stl 仿函数 map set
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作