我有一个似乎每天大概崩溃一次的mongodb实例。 我在mongo日志文件中没有看到任何有用的信息。 一切都很好,然后这个过程只是坠毁,没有附加的信息logging。 我在strace下运行它,希望得到一些有用的线索,直到它崩溃,并得到这个输出: Wed Apr 17 10:56:39.340 [conn172] M/R: (1/3) Emit Progress: 2800/4351 64% Wed Apr 17 10:57:16.696 [PeriodicTask::Runner] task: DBConnectionPool-cleaner took: 16ms Wed Apr 17 10:57:17.035 [PeriodicTask::Runner] task: WriteBackManager::cleaner took: 17ms Wed Apr 17 10:57:17.429 [PeriodicTask::Runner] task: DBConnectionPool-cleaner took: 79ms +++ killed by SIGKILL +++ 这只发生在一个特定的虚拟机上,其余的都很好。 还检查每小时/每日cron工作,以防万一有些事情正在发生并杀死mongod,但没有嫌疑人在那里。 操作系统 :Ubuntu 12.04.2 Mongo :2.4.1 还有什么我可以做进一步的疑难解答?
使用init脚本启动进程时,我看到一些奇怪的行为。 我很可能是在做一些愚蠢的事情,但也许有人可以让我知道什么可能会导致这种行为: [背景:这个过程是mongodb作为configuration服务器(2.4)运行的monogod,我在Debian 6上运行。该进程在用户'mongodb'下运行,我通过SSH以非root用户身份发出命令] 当服务器启动时,进程似乎正常启动(我可以通过ps -ef看到它,并且生成了一个mongodb.pid文件)。 如果我试图通过sudo /etc/init.d/mongodb stop来停止进程,那么怪异开始了:我得到了mongodb apparently not running 。 (虽然过程和PID仍然在那里)。 当然,如果我试图sudo /etc/init.d/mongodb start现在sudo /etc/init.d/mongodb start我得到'失败',并在日志中有一个关于已经使用的端口的错误,这是预期的,因为实际上已经有一个实例正在运行。 如果我杀了-15的进程,然后尝试sudo /etc/init.d/mongodb start我得到更多的怪异:在控制台,我得到Starting database: mongodb failed! (没有更多的信息)。 但是…现在进程正在运行,并且在日志中我没有看到任何错误,只是看起来进程正常启动。 如果我试图用sudo /etc/init.d/mongodb stop来停止这个过程,我得到的是mongodb apparently not running 。 有问题的脚本在这里 。 有任何想法吗? 谢谢! 编辑:如果是mongo相关的东西,这里是我的configuration服务器的mongodb.conf: configsvr=true dbpath=/data/configdb logpath=/var/log/mongodb/mongodb.log logappend=true port = 28222 bind_ip = a_public_ip,127.0.0.1,a_private_ip auth = true keyFile = /srv/mongodb/keyfile […]
我的机器有42GB内存,总索引大小为40GB(工作集应该100%填充,因为索引都在UUID列上)。 我怀疑我的工作集太大,页面错误开始增加巨大,例如从平均20跳到120。 我发现似乎mongod没有使用我所有的记忆,例如 ps ax | grep mongod 23051 mongod 20 0 338g 7.7g 7.5g S 87.8 16.4 1533:17 /usr/bin/mongod -f /etc/mongod.conf 目前仅使用7.7G。 而使用2.4的工作集估算器,我发现50多个工作集只有大约650MB,似乎是从我的数据大小意外。 "workingSet" : { "note" : "thisIsAnEstimate", "pagesInMemory" : 166069, "computationTimeMicros" : 49281, "overSeconds" : 50 }, 你有什么主意吗?
我是新来的系统pipe理员。 我正在尝试启动一个EBS支持的EC2实例。 我根据mongodb文档做了以下工作: sudo mdadm –verbose –create /dev/md0 –level=10 –chunk=256 –raid-devices=1 /dev/xvdh1 echo 'DEVICE /dev/xvdh1' | sudo tee -a /etc/mdadm.conf sudo mdadm –detail –scan | sudo tee -a /etc/mdadm.conf sudo blockdev –setra 128 /dev/md0 sudo blockdev –setra 128 /dev/xvdh1 sudo dd if=/dev/zero of=/dev/md0 bs=512 count=1 sudo pvcreate /dev/md0 sudo vgcreate vg0 /dev/md0 sudo lvcreate -l […]
是否保证了mdadm(并通过经验值得信赖)是否仅使用xfs_freeze拍摄快照是安全的? 我遇到了mdadm仍然在后台工作的含糊不清的警告,因此在不拆卸RAID的情况下使快照变得不安全,但我宁愿避免在可能的情况下进行拆卸/重新组装。 快照是通过EBS进行块级别的,但我不太关心快照过程,而不是关于拍摄快照时正确的数据是否一致。 除了mdadm以外的选项,如果它们使得这个过程更加可靠的话,我们可以使用它 – 我们以前使用LVM条纹,但是由于跨磁盘快照的报告不可靠,所以专门切换到了mdadm。 我们也在研究一些组合,例如使用mdadm进行条带化,使用LVM层进行快照。 理想的解决scheme是避免不得不停止从RAID(本例中为Mongo)运行的服务,并且将采用原始数据格式,以便新服务器可以附加已恢复快照的arrays,而不需要额外的步骤按摩数据到位。 (我们已经有了可以将快照重组到新服务器的代码 – 我们只需要可靠地创build这些快照。)
我想在我的开发机器上运行MongoDB,只要端口27017请求,但不是在此之前。 我已经得到了/usr/lib/systemd/system/mongodb.socket文件的一部分,但是现在我被困住了,还有其他什么东西在里面,我不知道这是否是正确的目录。 [Unit] Description=High-performance, schema-free document-oriented database Socket [Socket] ListenStream=27017 [Install] WantedBy=sockets.target 我的问题基本上是:还有什么我需要写在文件中,我在哪里放置这个文件,我必须做比运行systemctl enable mongodb.socket之后?
我正在关注mongo网站( http://docs.mongodb.org/manual/tutorial/install-mongodb-on-red-hat-centos-or-fedora-linux/ )在我的centos 5.1o上安装mongo 我收到以下错误 sudo yum install mongodb-org Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * atomic: www8.atomicorp.com * base: mirrors.tummy.com * epel: mirror.compevo.com * extras: mirror.raystedman.net * rpmforge: mirror.team-cymru.org * updates: mirror.steadfast.net atomic | 1.9 kB 00:00 base | 1.1 kB 00:00 c5-testing | 1.9 kB 00:00 epel | 3.7 kB […]
我正在使用Amazon OpsWorks部署mongo,如使用AWS OpsWorks设置MongoDB复制副本所述,并且当我在dbpath中指定已挂载的ebs卷(/ data / ebs)时,实例无法启动。 这里是堆栈的自定义JSON: { "mongodb" : { config: { "dbpath" : "/data/ebs/data/", "logpath" : "/data/ebs/log/", } "cluster_name" : "replicaset", "replicaset_name": "replicaset" } } mongo不能启动的原因显然是因为/ data / ebs所有权: [ec2-user@mongodb1 data]$ ls -la /data/ebs drwxr-xr-x 2 root root 21 May 24 08:43 . drwxr-xr-x 3 root root 4096 May 24 04:49 .. 我如何覆盖它? […]
我遵循这个指导http://docs.mongodb.org/ecosystem/tutorial/backup-and-restore-mongodb-on-amazon-ec2/ 我有4个EBS 1000 IOPS卷分配给实例 这4卷通过MDADM组装成软件RAID10arrays。 我想通过EBS快照进行备份,正如上面的文章中所述 问题:Mongodb说 – 我需要 mongo shell> db.runCommand({fsync:1,lock:1}); – 这将locking数据库写入….运行快照创build… mongo shell> db。$ cmd.sys.unlock.findOne(); – 这将解锁数据库的写作 所以当我发出命令ec2-create-snapshot或完成后创build实际快照后,需要解锁数据库以便写入 谢谢,德米特里
我最近升级了我的apt-get,现在mongod的行为是不正确的。 我目前必须通过运行: mongod –dbpath /var/lib/mongodb 并将terminal打开以使其工作。 如果我只是运行mongod root@ip-XXX-XX-XX-XX:/home/ubuntu# mongod mongod –help for help and startup options Sun Jun 22 21:48:19.403 [initandlisten] MongoDB starting : pid=2033 port=27017 dbpath=/data/db/ 64-bit host=ip-XXX-XX-XX-XX Sun Jun 22 21:48:19.403 [initandlisten] db version v2.4.10 Sun Jun 22 21:48:19.403 [initandlisten] git version: e3d78955d181e475345ebd60053a4738a4c5268a Sun Jun 22 21:48:19.403 [initandlisten] build info: Linux ip-10-2-29-40 2.6.21.7-2.ec2.v1.2.fc8xen […]