Articles of mongodb

如何*安全地*从其官方存储库安装MongoDB?

官方的MongoDB指南build议我通过HTTP协议添加一个带gpgcheck=0的.repo 。 我感觉这是一个非常不安全的设置 – 我很担心每次尝试在不可信任的networking中更新我的系统时,都会以这种方式将自己暴露给MiTM攻击。 这实际上是可能的,或者是否有任何我没有意识到的安全机制可以保护我? 如果没有,有没有办法让这个.repo安装程序更安全,而不依赖于我的操作系统的旧软件包或从头开始编译程序?

MongoDB:两个节点和初选

根据Mongo的文档,为了安全地部署一个复制集合,你至less需要两个主动和一个仲裁者,因为选举一个主要需要大部分的选票。 假设我能够拥有三台机器,因此部署了三个完整的mongo实例,而不是仲裁器。 如果当选的小学生失败,我最终会得到两个节点,他们两个具有相同的“权力”级别:对我来说,这似乎是在部署中描述的必须避免的情况。 在这种情况下,如果初始设置是相同的,是否有人可以展开为什么select小学不成问题?

mongod的非映射虚拟内存突然翻倍,至今没变

我们的蒙古小学的non-mapped virtual memory统计一直是不变的,昨天之前我们从来没有想过这个。 昨天,一个devise不好的查询中发生的一系列意外的全面收集扫描导致了一个很大的放缓,其中mongod进程使用了​​100%的CPU,每个查询花了几十秒。 性能问题消失后,未映射的虚拟内存增加了一倍多,至今还没有下降。 它曾经保存在600MB左右; 现在大约是1.4GB 。 增长是立竿见影的,并且与经济放缓完全相关,从那以后它一点都没有改变。 连接的数量在整个过程中是完全不变的,所以我们可以肯定这不是。 什么可能导致这个? 这是个问题吗? 我们应该担心吗? 在EC2实例的Ubuntu 12.04 64位上运行。

检查在服务器上运行的服务,如果它们已经停止,重新启动它们 (python脚本)

我正在试图写一个python脚本,它显示了我的服务器上运行的服务。 事情是,mongodb不断在服务器上下来,每次发生,我必须手动编写命令来启动它。 我想做的是自动化这项工作,如果一些服务失败了。 目前我已经写了这个https://gist.github.com/prodicus/8993357d3cf49759835e 我知道它是非常基本的家伙。 它有几英里去:) 现在我怎么通过这个脚本启动mongodb和apache的服务? 任何build议将是真正有帮助的人。

MongoDB查询

对于相同的数据集和用法,MongoDB和MySQL之间的RAM要求是什么? (即在完全相同的情况下,每个RAM使用多less)? 确实,MongoDB保持完整的数据库在RAM中?

EC2服务器比本地机器慢

我们一直在试图做一些性能基准testing,我们的webapp使用python编写,大量使用mongodb,我们发现了以下内容。 我们尝试使用具有8个ecu和15 GB内存的第一代超大型ec2服务器 ec2服务器上的python至less比本地机器慢30% 磁盘I / O速度非常慢。 mongostat和iostat结果显示磁盘写入大约为1MBpS 程序本身的运行速度比本地机器慢得多 我们还没有弄清楚为什么会发生这一切。 我们所说的本地机器有8GB RAM和i5处理器。 更新我们testingpython的方式是我们运行了一个循环,需要10秒才能完成,没有磁盘读或写。 每次审判至less花费了30%的时间。 这是否与此有关? https://forums.aws.amazon.com/thread.jspa?messageID=66988

将位于防火墙后面的mongodbstream数据服务器公开到互联网

我有一个Windows平台上的数据stream,我以每秒钟约800个数据点的相当高的速度捕获到Mongodb。 我希望能够从公司外部获得这些数据,但是公司不希望将27017(mongod)向外界推出。 我已经设置授权和编译mongod的SSL。 如何将Mongo公开到外部服务器? 我的服务器坐在“免费”互联网的另一个位置,我希望每隔10秒钟从服务器获取最新的1000个数据点。 如果我无法前进,我将如何做到这一点? 我可以让mongo服务器把数据“推”到外部服务器(它有一个固定的IP)吗? FTP不是一个解决scheme,因为这个(我认为)数据stream太快了。 我可以以某种方式使用http或其他协议stream出来吗? 理想情况下,我会喜欢“原生”访问mongo服务器,因为这将允许我使用可滚动的游标,所以任何接近此function的解决scheme都是好的。 但是,如果这不可行或不实际,从受防火墙保护的服务器到外部服务器的stream式推送解决scheme也适用于我。

EC2上的MongoDB – 无法stat / dev / xdf – 没有这样的文件或目录

我正在学习关于在EC2上设置MongoDB的教程,并且陷入了下面的部分: $ sudo mkfs.ext4 /dev/xdf mke2fs 1.42.3 (14-May-2012) Could not stat /dev/xdf — No such file or directory The device apparently does not exist; did you specify it correctly? 不知道如何继续 – 任何帮助将不胜感激! 编辑: $ ls /dev autofs disk hvc4 loop1 mapper ppp sdg tty1 tty17 tty24 tty31 tty39 tty46 tty53 tty60 ttyS1 vcs4 vcsa5 xvdh […]

SSH隧道在背景中

我试图将我的生产mongo服务器隧道到我的testing服务器,所以,我可以执行一些testing。 我知道我可以简单地通过ssh -Lbuild立隧道,但是我需要把它作为后台进程运行,因为我不能在terminal运行这个隧道。 我试过了 ssh -f user@myip -L 27017:localhost:27017 -N 我也试着简单地把它作为一个守护进程来运行,但是它也没有工作。 ssh -L 27017:localhost:27017 myuser@myip 我知道从不同的服务器指向生产数据库是不好的。 但是,事实是,我已经将我的资产迁移到了S3,并且在把它移到现场之前需要testing一切是否正常。 这只是需要我半天的时间来testing,所以我不想经历设置另一个实例的麻烦,并在这里转储我的数据库副本。 请帮我解决一下这个。

RDBMS:是否可以扩展RDB?

是否有可能扩大RDB? 如果可能的话,怎么能实现呢? 我在问这个问题是因为我协助了一个NoSQL事件,在这个事件中,发言者多次说关系数据库的缺点之一就是不可能扩展。 换句话说,我们应该增加更多的内存和更多的存储空间,但是如果我们使用的是NoSQL数据库,我们不能像添加另外一台计算机一样。