Articles of mongodb

Mongodb从属复制滞后

我们使用标准的mongo设置:2个副本+ 1个仲裁器。 两个副本服务器都使用与RAID10 EBS相同的AWS m1.medium。 我们遇到复制副本不断增长的复制滞后。 我试图做全面重新同步,你可以看到它的graphics,但它只有几个小时的帮助。 我们的mongo用法现在非常低,坦率地说,我不能说明它为什么可以。 iostat 1用于二级: avg-cpu: %user %nice %system %iowait %steal %idle 80.39 0.00 2.94 0.00 16.67 0.00 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn xvdap1 0.00 0.00 0.00 0 0 xvdb 0.00 0.00 0.00 0 0 xvdfp4 12.75 0.00 189.22 0 193 xvdfp3 12.75 0.00 189.22 0 193 xvdfp2 7.84 […]

Graylog2需要多less硬件资源?

我们几天前在一台装有2g内存的虚拟机上安装了一个专门的graylog2服务器(带有独angular兽,mongodb和eleasantsearch)。 RAM消耗只是不断攀升,我正在频繁地得到高消耗警报。 我正在尝试评估需要多less内存来集中所有系统日志和Rails日志为25个以上的服务器,任何人都有这方面的经验? 或者,有没有人有办法让graylog2和他的依赖应用程序(独angular兽,mongodb,eleasantsearch)在2G内存下? 编辑2013年2月20日 :事实certificate,内存是不是真正的问题后,一点点提高到2.25 GB。 现在的问题是CPU的负载,我们已经得到了所有8个cpu核心几乎100%的graylog-服务器。

Mongodb不断报告“没有主要发现”,但shell工作正常

我在一个replicaset中有一个简单的mongodb设置,有一个实际的实例和一个仲裁器(为了避免冲突)。 随着我们的负荷增加,这是预期扩大复制品包括更多的实例。 如果我通过shell访问mongodb,我正确地得到了PRIMARY >提示符,并且运行rs.status()告诉我一切正常。 我有一个正在访问数据库的node.js服务器,使用github上的mongodb-native驱动,版本为0.9.9-8。 然而,偶尔它只是打破了以下错误: Unable to connect to database: Error: no primary server found 程序给出两个实例的两个地址(正常实例+仲裁者),否则程序日志或mongodb的日志都不能提供任何线索。 任何帮助,欢迎!

最上面的MongoDB CPU使用情况令人困惑

我有一个在VirtualBox上运行的Ubuntu 12.04 VM,它有一个完整的MongoDB集群(4个数据节点,一个configuration节点和一个mongos路由器)。 当我看“顶”时,我看到每个进程都占用5-15%的CPU时间。 但是,当我看到顶部使用的总CPU百分比,它说98%空闲。 虚拟机有8个CPU核心分配,但即使如此,这个输出如何加起来呢? top – 20:53:31 up 9 min, 2 users, load average: 0.46, 0.76, 0.49 Tasks: 190 total, 1 running, 189 sleeping, 0 stopped, 0 zombie Cpu(s): 0.1%us, 1.9%sy, 0.0%ni, 98.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 8177528k total, 3517632k used, 4659896k free, 84696k buffers Swap: 4191228k total, 0k used, 4191228k free, […]

从mongo副本集中删除辅助,而不会触发重新选?

我不得不在昨天添加一个新的辅助节点到我的副本集,以便我可以在另一个辅助节点上进行维护。 现在维护完成了,我想删除其中的一个副本以返回到我的原始configuration。 问题是,我已经看到,主要节点总是在执行投票的时候退到次要地位。 这一切都很好,但有没有办法让我不能这样做呢? 我正处于一个相当繁重的写入负载,我不想失败的任何写入。 感谢任何帮助! 谢谢,丹

添加新的碎片 – 总是最好的?

在我们的设置中,我们目前有3个shard集合sharded cluster,每个shard集合都是3的副本集合。我们的写入将大幅增加以实现一个新特性,并且我们知道额外的数据是必要的。 我们的写作本质基本上都是upserts(这可能是更新),并更新我们增加一个特定的字段1。 我们的更新总是增加1,我们的数据分布的方式,并不是所有的文件都被平等对待,有些让他们的领域递增了很多。 我认为可能有效的另一种解决scheme是拥有某种types的中间人,比如一些Redis数据库(或者一些较小的mongods),我们首先对它们进行更新,大约5分钟后(或者使用一些排队系统),我们有一堆工作人员使用这些数据,并用文档更新实际的活动群集。 这将节省我们的主要群集吨写,因为它会允许某些更新繁重的文件积累他们的更新,并可以为我们节省大量的写(准确的数字,我将在不久后发布)。 那么底线是什么时候添加另一个碎片不是正确的解决scheme?

Mongodb Config服务器上的磁盘IO非常高

也许有人可以告诉我,如果这是预料之中(对我来说这似乎不正常)…在我所有的configuration服务器3我看到一致的高磁盘IO,即使分片群活动非常低。 根据iotop,mongodb进程导致磁盘写入在大约500KB / s和1000KB / s之间波动(实际上没有读取)。 我知道日志文件不断更新与同步消息(并希望没有这些logging),但看尾巴这些频率平均每秒约1行,所以我不相信这可以说明我看到的IO统计数据。 这是我的理解,configuration服务器并不需要那么多,主要是需要跟踪数据是如何分片的(因为目前有很低的db写入,所以没有太多这样的事情发生)。 我正在运行Debian 6 64位。 谁能告诉我这里可能发生了什么?

创buildMMS警报以监控主要可用性

在MMS中有没有一种方法来定义一个警报来监视群集中的任何服务器都无法升级到主服务器的情况? 我试着定义了以下警报:'如果主types的主机closures,警告',但是当我手动closures群集中的服务器时(为了模拟一个非常糟糕的群集),警报不会被触发。 有什么build议么?

带mongod的ENTRYPOINT&CMD命令会导致未知的选项错误

我正在使用多个Dockerfiles来设置我的服务器基础结构。 我构build的一个Dockerfiles是一个MongoDB服务器,它将在后面的步骤中连接到一个运行的Web服务器应用程序。 目前,我在运行MongoDB服务器时遇到了以下错误: "Error parsing command line: unknown option port 27017" 在我的Dockerfile中有: CMD ["–port 27017", "–dbpath /data/db", "–smallfiles"] ENTRYPOINT ["/usr/bin/mongod"] 当我使用而不是上面的命令时,下面的一切工作: CMD /usr/bin/mongod –port 27017 –dbpath /data/db –smallfiles 我更喜欢CMD – 数组和入口点的方法更多,但不知道为什么我收到错误。

MongoDB在启动时安装简单的testing操作pipe理器java.lang.OutOfMemoryError

刚刚安装了MongoDB Ops Manager的testing评估,并在启动备份HTTP服务器时出现错误: Migrate MMS data Running migrations…[ OK ] Start MMS server Instance 0 starting……….[ OK ] Start Backup HTTP Server Instance 0 starting…….[FAILED] 2015-05-07T14:00:32.107+0000 [main] gid ERROR ServerMain:199 – Cannot start bslurp server [FATAL-EXITING] – instance: 0 – msg: unable to create new native thread java.lang.OutOfMemoryError: unable to create new native thread 我似乎有足够的内存 […]