解决Error parsing YAML config file: yaml-cpp: error at line 32, column 1: end of map not found

mongodb使用配置文件启动

mongod --config /etc/mongod.conf

碰到的各种错误

Error parsing YAML config file: yaml-cpp: error at line 32, column 1: end of map not found

Error parsing command line: the required argument for option '--config' is missing

Unrecognized option: auth
try 'mongod --help' for more information

上面这些错误,都是因为配置文件格式的错误,很无语

mongodb 3.0之后配置文件采用YAML格式,这种格式非常简单,使用<key>:<value>表示,开头使用“空格”作为缩进。需要注意的是,“:”之后有value的话,需要紧跟一个空格,如果key只是表示层级,则无需在“:”后增加空格(比如:systemLog:后面既不需要空格)。按照层级,每行4个空格缩进,第二级则8个空格,依次轮推,顶层则不需要空格缩进。如果格式不正确,将会出现上面的错误

仔细读完这段文字就会找到解决办法

附我的配置文件:
 

# 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: /var/lib/mongo
    journal:
        enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

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

# network interfaces
 net:
    port: 26178
    bindIp: 0.0.0.0  # Listen to local interface only, comment to listen on all interfaces.

 security:
    authorization: enabled

注意复制过去可能会有格式问题,注意自己解决

  • 6
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
### 回答1: 这个错误提示是在告诉你配置文件第 2 行出现了错误,没有找到期望的键。 解决方法: 1. 检查配置文件第 2 行,确保该行存在期望的键。 2. 确保配置文件的语法格式正确,比如缩进是否正确,键和值是否正确分隔等。 3. 如果问题依然存在,请参考该软件的使用说明或者在网上查找相关资料,了解更多关于配置文件的相关说明。 希望这些信息能帮助你解决问题。 ### 回答2: 出现这个错误是因为配置文件存在语法错误,可能是在第二行没有找到期望的键。 要解决这个问题,首先需要检查配置文件的第二行,并确保它包含了正确的键。在大多数情况下,这是因为键的拼写错误或缺失引号导致的。 如果你确定键的拼写是正确的,那么可能是缺少了一个冒号。YAML语法要求每个键值对都必须以冒号分隔。 此外,还需要检查整个文件中的其他语法错误。在解析和加载配置文件时,yaml解析器会报告错误所在的行号和具体错误信息。 如果你仍然无法解决问题,可以尝试使用在线yaml验证工具来验证配置文件的语法,并查找语法错误。 最后,确保你使用的yaml解析库是最新的版本。有时候,这种错误可能是由于解析库的bug导致的,更新解析库可以解决一些问题。 总结一下,解决"Error loading config" err="error parsing config file: yaml: line 2: did not find expected key"错误的步骤如下: 1. 检查第二行的键是否正确拼写并确保有冒号。 2. 检查整个文件中是否存在其他语法错误。 3. 使用在线yaml验证工具验证文件的语法。 4. 确保使用的yaml解析库是最新的版本。 ### 回答3: 问题的原因是配置文件的语法错误导致解析失败。要解决这个问题,可以按照以下步骤进行操作: 1. 首先,检查配置文件的路径是否正确,确保程序能够正确地找到配置文件。如果路径不正确,可以修正它。 2. 其次,打开配置文件,检查第二行的语法是否正确。根据错误信息来看,可能是缺少了一个键(key),导致解析失败。确保每个键值对都按照正确的格式书写,即键和值之间用冒号分隔,并且键值对之间用换行符分隔。 3. 需要特别注意,YAML配置文件对于缩进和空格有严格的要求。确保每个键值对的缩进正确,并且键值对的值之前没有多余的空格或制表符。 4. 如果配置文件较长,可以先将其内容拷贝到一个在线YAML验证器中进行验证,例如 https://codebeautify.org/yaml-validator。这将帮助您找出配置文件中的语法错误,并指导您进行修正。 5. 如果上述步骤都没有解决问题,您可以尝试将配置文件备份并删除,然后重新创建一个新的配置文件。确保新配置文件从头开始按照正确的格式书写。 希望通过以上步骤,您能够成功解决"Error loading config" err="error parsing config file: yaml: line 2: did not find expected key"的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

裸睡的雨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值