mongodb /var/log/mongodb/mongod.log 阻止 mongod 启动

Bra*_*don 4 database amazon-ec2 mongodb amazon-web-services centos7

我在 centos 7 aws ec2 实例上使用 mongodb 3.6.3。

2个问题(只需要回答一个):

  1. 如果通过 cli 手动完成,为什么 --logpath 会阻止 mongod 命令 sudo mongod --storageEngine etc
  2. 为什么要sudo service mongod status显示它是失败的?

当我运行下面的命令时,(因为当前sudo service mongod start不起作用,但下面的工作)当我指定时它会失败,--logpath但没有它会运行。不幸的是,当我在没有它的情况下运行它时,我的所有日​​志最终都位于/绝对错误的位置。

sudo mongod --storageEngine wiredTiger --dbpath /data --bind_ip 127.0.0.1,apiIP --logpath /var/log/mongodb/mongod.log --auth --fork

下面是当我尝试按原样运行上面那条线时会发生什么。

I CONTROL [main] log file "/var/log/mongodb/mongod.log" exists; moved to "/var/log/mongodb/mongod.log.2018-03-16T15-16-01".

据我所知,它与当前存在的冲突

仅供参考,sudo service mongod status返回:

mongod.service - mongodb database
   Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Fri 2018-03-16 15:11:53 UTC; 9min ago
  Process: 26620 ExecStart=/usr/bin/mongod $OPTIONS run (code=exited, status=2)
 Main PID: 26620 (code=exited, status=2)

Mar 16 15:11:53 ip-* systemd[1]: Started mongodb database.
Mar 16 15:11:53 ip-* systemd[1]: Starting mongodb database...
Mar 16 15:11:53 ip-* mongod[26620]: F CONTROL  [main] Failed global initialization: FileNotOpen: Failed to open "/var/log/mongodb/mongod.log"
Mar 16 15:11:53 ip-* systemd[1]: mongod.service: main process exited, code=exited, status=1/FAILURE
Mar 16 15:11:53 ip-* systemd[1]: Unit mongod.service entered failed state.
Mar 16 15:11:53 ip-* systemd[1]: mongod.service failed.
Run Code Online (Sandbox Code Playgroud)

/etc/mongod.conf

# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

# Where and how to store data.
storage:
  dbPath: /data
#  logpath: /log/mongod.log
  journal:
    enabled: true
   engine: wiredTiger
#  mmapv1:
#  wiredTiger:

# how the process runs
processManagement:
#  fork: true  # fork and run in background
  pidFilePath: /var/run/mongodb/mongod.pid  # location of pidfile
  timeZoneInfo: /usr/share/zoneinfo

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1, apiIP
Run Code Online (Sandbox Code Playgroud)

感谢@AlexBlex 注意到 yaml 文件中的间距问题。

排序后,状态错误有这一行 Unrecognized option: storage.wiredTiger

Deb*_*Das 7

  1. cd /var/log
  2. sudo mkdir -m 777 mongodb
  3. sudo service mongod start
  4. sudo service mongod status

希望,这会做!