如何为Mongod进程指定配置文件

时间:2016-12-01 08:54:06

标签: mongodb config homebrew

运行mongod时,我收到非严重错误

[HostnameCanonicalizationWorker] Failed to obtain address information for hostname flimflamjims-MacBook-Pro.local: nodename nor servname provided, or not known

此问题已在堆栈溢出中得到充分记录,解决方案通常建议编辑/etc/hosts以指定127.0.0.1的地址。这确实解决了这个问题,但作为一种替代方案,我想指定一个配置文件。

根据Homebrew的说明,我尝试运行mongod --config /usr/local/etc/mongod.conf。运行该命令后,进程挂起,并且没有日志打印到终端。

mongod.conf由Homebrew自动创建,其内容为:

systemLog:
  destination: file
  path: /usr/local/var/log/mongodb/mongo.log
  logAppend: true
storage:
  dbPath: /usr/local/var/mongodb
net:
  bindIp: 127.0.0.1

当我从mongod.conf移除/usr/local/var/log/mongodb/并再次运行mongod --config /usr/local/etc/mongod.conf时,我收到错误消息:

Error reading config file: No such file or directory
try 'mongod --help' for more information`

所以似乎mongod.conf至少被访问了。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

使用您的配置,日志将转到systemLog.path中提到的日志文件。如果仅从配置文件中删除systemLog.path,则会抛出错误,因为它无法找到日志文件的路径。由于systemLog.destination表示记录到file,因此您还必须指定systemLog.path。如果您希望将日志发送到stdout,则需要删除systemLog.destinationsystemLog.path两者。