mongod.service:以root身份启动,但不以mongodb

时间:2019-11-28 15:50:50

标签: mongodb ubuntu-18.04 systemd mongodb-3.6

我们最近不得不在Ubuntu 18.04上将mongodb反向移植到版本3.6,我正在研究如何将数据库服务器作为服务运行(mongod.service)。

mongod.service文件是从git(branch v3.6)中直接拉出的,仅作了些微更改:我将用户和组更改为 mongodb 而不是 mongod (如先前在目标计算机上设置的那样)。日志文件夹mongod.confdbPath均可由 mongodb 用户访问或拥有。我还根据发行版调整了可执行文件的路径。

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

[Service]
User=mongodb
Group=mongodb
Environment="OPTIONS=-f /etc/mongod.conf"
ExecStart=/usr/bin/mongod $OPTIONS
ExecStartPre=/bin/mkdir -p /var/run/mongodb
ExecStartPre=/bin/chown mongodb:mongodb /var/run/mongodb
ExecStartPre=/bin/chmod 0755 /var/run/mongodb
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

/etc/mongod.conf非常简单(dbPath设置为数据库文件夹,systemLog设置为相应追加)。

如果我通过{p>运行sudo service mongod start

[Service]
User=root
Group=root

一切正常。如果将 root 更改为 mongodb ,则仅获得以下日志输出:

● mongod.service - MongoDB Database Server
   Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
   Active: failed (Result: core-dump) since Thu 2019-11-28 17:03:48 CET; 4s ago
     Docs: https://docs.mongodb.org/manual
  Process: 53784 ExecStart=/usr/bin/mongod $OPTIONS (code=dumped, signal=ABRT)
  Process: 53783 ExecStartPre=/bin/chmod 0755 /var/run/mongodb (code=exited, status=0/SUCCESS)
  Process: 53775 ExecStartPre=/bin/chown mongodb:mongodb /var/run/mongodb (code=exited, status=0/SUCCESS)
  Process: 53774 ExecStartPre=/bin/mkdir -p /var/run/mongodb (code=exited, status=0/SUCCESS)
 Main PID: 45976 (code=dumped, signal=ABRT)

Nov 28 17:03:47 *** systemd[1]: Starting MongoDB Database Server...
Nov 28 17:03:48 *** systemd[1]: mongod.service: Control process exited, code=dumped status=6
Nov 28 17:03:48 *** systemd[1]: mongod.service: Failed with result 'core-dump'.
Nov 28 17:03:48 *** systemd[1]: Failed to start MongoDB Database Server.

日志也不提供任何进一步的信息。鉴于它以 root 身份工作,我想这可能是权限问题-哪里有最好的想法?

编辑:现在甚至以root身份超时

它已经工作了一段时间,但是如果我现在尝试以 root 身份启动该服务,它只会超时

Nov 28 17:21:49 *** systemd[1]: mongod.service: Start operation timed out. Terminating.
Nov 28 17:21:49 *** systemd[1]: mongod.service: Failed with result 'timeout'.
Nov 28 17:21:49 *** systemd[1]: Failed to start MongoDB Database Server.

sudo mongod --dbpath /path/to/db可以正常工作...

0 个答案:

没有答案
相关问题