【发布时间】: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 身份登录
【问题讨论】:
-
系统是新鲜的吗? github.com/systemd/systemd/issues/3010 表明某种 systemd 失败,但我不熟悉 systemd 内部结构来分析该报告。