【发布时间】:2018-08-25 17:41:13
【问题描述】:
我在 centos 7 aws ec2 实例上使用 mongodb 3.6.3。
2 个问题(只需回答一个):
- 如果使用
sudo mongod --storageEngine etc通过 cli 手动完成,为什么 --logpath 会阻止 mongod 命令 - 为什么
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.
/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
感谢 @AlexBlex 注意到 yaml 文件中的间距问题。
排序后,状态错误有这一行
Unrecognized option: storage.wiredTiger
【问题讨论】:
-
那么问题到底是什么?
service命令没有--logpath参数。日志轮换是一项功能。 -
答案不在日志中:解析 YAML 配置文件时出错?第 20 行是什么,上校。 4?
-
确认一下,yaml文件是mongod.conf文件吗?否则,我不知道在哪里可以找到
yaml-cpp或任何其他类似的文件? -
@AlexBlex 我更明确地说明了帖子顶部的问题
-
删除第 20 行
wiredTiger之前的多余空格。YAML 是缩进敏感的。
标签: database mongodb amazon-web-services amazon-ec2 centos7