我设法打破了在Ubuntu服务器上运行的稳定的Mongo实例。
似乎没有使用正确的配置启动服务。
正在运行mongod
会给我以下内容:
2016-11-01T16:06:27.853+0000 I STORAGE [initandlisten] exception in initAndListen: 29 Data directory /data/db not found., terminating
因此,当我尝试运行mongo shell时,我得到了:
2016-11-01T16:06:48.476+0000 W NETWORK Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused
/etc/mongod.conf中的配置文件将dbpath声明为/var/lib/mongod
,其中已经有一堆dbses(正在运行!),端口为3306.这显然不是错误上面的消息指向。
我尝试使用--config /etc/mongod.conf
使用此配置文件运行mongod,但我明白了:
2016-11-01T16:09:12.530+0000 F CONTROL Failed global initialization: FileNotOpen Failed to open "/var/log/mongodb/mongod.log"
我可以采取哪些步骤来恢复正确的dbpath和端口上的原始服务?
/etc/init/mongod.conf
上有一个暴发户文件,但服务器重启没有任何影响。
感谢。
答案 0 :(得分:0)
当在磁盘空间较小的磁盘上运行带有数据文件的mongod时(通常在我总是拥挤的开发笔记本电脑上出现此问题),您可能会遇到上述情况,但会出现一些令人误解的症状。从内存来看,我/我们的情况所需的空间约为几GB,通常足以容纳3 GB。
如果合适,您可以选择删除文件,也可以忽略(由于您不在生产环境中),请使用--smallfiles选项,请参见documentation。
(我刚刚注意到这个问题大约有2年的历史了……可能只与mmapv1引擎有关,这是自3.2以来的默认值。写了它之后,无论如何我都会发布这个可能的答案,大概是赢了虽然现在没有多大用处:))