首页 > 解决方案 > mongod 服务无法重新启动,27017 端口未使用 - 甚至获取地址已在使用错误

问题描述

systemctl restart mongod如果我尝试使用获取错误启动 mongod,我无法启动 mongo db 服务

mongod.service 的作业失败,因为控制进程以错误代码退出。有关详细信息,请参阅“systemctl status mongod.service”和“journalctl -xe”。

日志:vi /var/log/mongo/mongod.log

在此处输入图像描述

在日志文件中,如果我看到以下消息,看起来端口已在使用中

initAndListen std::exception 中的异常:监听:地址已在使用中,正在终止

netstat -apt| grep "27017" 

没有进程ID。

以下是mongod状态: 在此处输入图像描述

我没有得到任何解决方案,您的帮助将不胜感激。谢谢。

标签: mongodbmongodb-query

解决方案


一个问题是 MongoDB 使用的锁定文件的所有权可能不正确:-rw-r--r-- 1 root root 0 Mar 16 02:27 /var/lib/mongo/mongod.lock

建议您简单地删除它,这将允许 MongoDB 正确地重新创建它。MongoDB 仅在当前运行时才需要此文件,理想情况下,该文件应该仅在它也在运行时才存在,因为它只包含 MongoDB 正在运行的当前进程 ID 的副本。

第二个问题是配置文件本身:/etc/mongod.conf。MongoDB 期望该文件采用 YAML 格式,显然空格很重要。我已经分享了在我们的服务器中工作的示例配置文件。

基本上,对于父指令下的任何指令,每个缩进都应该使用两个空格。

附加说明:

例如,“net:”标题没有缩进,因为它是其配置层的顶部,因为“port:”和“bindIp:”每个缩进两个空格,因为“net:”是它们的父指令。“ssl:”指令也缩进了两个空格,因为它的父级是“net:”,但由于“mode:”、“CAFile:”和“PEMKeyFile:”都属于“ssl:”,它们会在它的下方再次出现每个需要 2 个额外的空格以进一步缩进,总共 4 个空格。

最后,以下 mongo restart 将起作用:

systemctl restart mongod

或者

systemctl restart mongod.service

# 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
  timeZoneInfo: /usr/share/zoneinfo

# network interfaces
net:
  port: 27017
  bindIp: 0.0.0.0  # Listen to local interface only, comment to listen on all interfaces.
  ssl:
    mode: preferSSL
    CAFile: /etc/ssl/mongodb/RootCA/root-ca.pem
    PEMKeyFile: /etc/ssl/mongodb/host.omkieitsolutions.com.pem

security:
  authorization: enabled
  clusterAuthMode: keyFile

#operationProfiling:

#replication:
"/etc/mongod.conf" 50L, 990C           

推荐阅读