【问题标题】:Can't open PID file /var/run/mongodb/mongod.pid (yet?) after start: Too many levels of symbolic links MongoDB Centos 7启动后无法打开 PID 文件 /var/run/mongodb/mongod.pid(还没有?):符号链接级别太多 MongoDB Centos 7
【发布时间】:2020-05-02 20:08:29
【问题描述】:

我已经在centos 7 上安装了mongodb,但是我无法用systemctl 启动服务。 运行mongod 成功启动。

我已按照此处的所有说明进行操作:https://mongoing.com/docs/tutorial/install-mongodb-on-red-hat.html

systemctl status mongod 返回:

* mongod.service - MongoDB Database Server
   Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/mongod.service.d
           `-override.conf
   Active: failed (Result: timeout) since Sun 2020-05-03 14:58:02 CEST; 4min 27s ago
     Docs: https://docs.mongodb.org/manual
  Process: 528 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=0/SUCCESS)
  Process: 525 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (code=exited, status=0/SUCCESS)
  Process: 522 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb (code=exited, status=0/SUCCESS)
  Process: 519 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (code=exited, status=0/SUCCESS)

May 03 14:56:32 zakazise systemd[1]: Starting MongoDB Database Server...
May 03 14:56:32 zakazise mongod[528]: about to fork child process, waiting until server is ready for connections.
May 03 14:56:32 zakazise mongod[528]: forked process: 530
May 03 14:56:34 zakazise systemd[1]: Can't open PID file /var/run/mongodb/mongod.pid (yet?) after start: Too many levels of symbolic links
May 03 14:58:02 zakazise systemd[1]: mongod.service start operation timed out. Terminating.
May 03 14:58:02 zakazise systemd[1]: Failed to start MongoDB Database Server.
May 03 14:58:02 zakazise systemd[1]: Unit mongod.service entered failed state.
May 03 14:58:02 zakazise systemd[1]: mongod.service failed.

/var/log/mongodb/mongod.log 中有一行我认为可能很重要:

2020-05-03T14:58:02.210+0200 I  CONTROL  [signalProcessingThread] got signal 15 (Terminated), will terminate after current cmd ends

/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: /var/lib/mongo
  journal:
    enabled: true
#  engine:
#  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  # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.


#security:

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options

#auditLog:

#snmp:

/etc/systemd/system/multi-user.target.wants/mongod.service:

[Unit]
Description=MongoDB Database Server
Documentation=https://docs.mongodb.org/manual
After=network.target

[Service]
User=mongod
Group=mongod
Environment="OPTIONS=-f /etc/mongod.conf"
EnvironmentFile=-/etc/sysconfig/mongod
ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb
ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb
ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb
ExecStart=/usr/bin/mongod $OPTIONS
PermissionsStartOnly=true
PIDFile=/var/run/mongodb/mongod.pid
Type=forking
# file size
LimitFSIZE=infinity
# cpu time
LimitCPU=infinity
# virtual memory size
LimitAS=infinity
# open files
LimitNOFILE=64000
# processes/threads
LimitNPROC=64000
# locked memory
LimitMEMLOCK=infinity
# total threads (user+kernel)
TasksMax=infinity
TasksAccounting=false
# Recommended limits for for mongod as specified in
# http://docs.mongodb.org/manual/reference/ulimit/#recommended-settings

[Install]
WantedBy=multi-user.target

我没有更改 mongod.conf 和 mongod.service 中的任何内容。这是全新安装。

我尝试过的步骤:

 touch /var/run/mongodb/mongod.pid 
 chown mongod:mongod/var/run/mongodb/mongod.pid
  • 我已经检查了每条带有 mongo 的路径,它们有正确的 特权。 (mongod:mongod)
  • 检查 SELinux 是否被禁用。
  • 在 ufw 中允许 27017。

编辑

/var/run/mongodb 有每个 rwx。

我以 root 身份登录

【问题讨论】:

标签: mongodb centos7


【解决方案1】:

这两条路径不同:

May 02 21:53:44 zakazise systemd[1]: Can't open PID file /var/run/mongodb/mongod.pid (yet?) after start: Too many levels of symbolic links

pidFilePath: /var/run/mongo/mongod.pid  # location of pidfile

【讨论】:

  • 我已经更改了 mongod.service 中的路径。现在我得到:Can't open PID file /var/run/mongo/mongod.pid 即使在我给它 0777 之后。-rwxrwxrwx 1 mongod mongod 5 May 2 20:59 mongod.pid
  • 每次我尝试启动mongod服务时它实际上都被删除了......
  • 确保运行mongod进程的用户被允许写入/var/run/mongo/。
  • 如果该目录不存在,则创建该目录。
  • drwxrwxrwx 2 mongod mongod 40 May 2 23:57 mongo 还是一样的错误
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-01
  • 1970-01-01
  • 2014-11-12
  • 1970-01-01
  • 2015-07-22
  • 1970-01-01
相关资源
最近更新 更多