【问题标题】:mongod.service: Failed at step USER spawning /usr/bin/mkdir: No such processmongod.service:在用户生成/usr/bin/mkdir 步骤失败:没有这样的过程
【发布时间】:2018-03-05 05:53:39
【问题描述】:

我正在运行 os Ubuntu 16.04 的 ec2 实例。

我最近尝试将我的 mongodb 从 3.2 升级到 3.6。

我尝试运行sudo service mongod start mongod 服务启动失败。

以下是错误信息。

mongod.service - High-performance, schema-free document-oriented 

database
   Loaded: loaded (/etc/systemd/system/mongod.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Mon 2018-03-05 05:48:12 UTC; 11s ago
     Docs: https://docs.mongodb.org/manual
  Process: 18587 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (code=exited, status=217/USER)
 Main PID: 16567 (code=exited, status=100)

Mar 05 05:48:12 ip-172-31-18-34 systemd[1]: Starting High-performance, schema-free document-oriented database...
Mar 05 05:48:12 ip-172-31-18-34 systemd[18587]: mongod.service: Failed at step USER spawning /usr/bin/mkdir: No such proc
Mar 05 05:48:12 ip-172-31-18-34 systemd[1]: mongod.service: Control process exited, code=exited status=217
Mar 05 05:48:12 ip-172-31-18-34 systemd[1]: Failed to start High-performance, schema-free document-oriented database.
Mar 05 05:48:12 ip-172-31-18-34 systemd[1]: mongod.service: Unit entered failed state.
Mar 05 05:48:12 ip-172-31-18-34 systemd[1]: mongod.service: Failed with result 'exit-code'.

而且我从未编辑过一行默认的mongod.service 文件。

我该如何解决这个问题?

【问题讨论】:

    标签: mongodb ubuntu-16.04


    【解决方案1】:

    如果您刚刚从某处复制了mongod.service 文件,您应该在[Service] 部分编辑User

    【讨论】:

      【解决方案2】:
      Changing ownership of "/var/lib/mongodb" directory worked for me
      Command to change ownership:
      "sudo chown -R mongodb:mongodb /var/lib/mongodb"
      

      **Old response:**
      $ sudo systemctl status mongodb
      ● mongodb.service - MongoDB Database
         Loaded: loaded (/etc/systemd/system/mongodb.service; enabled; vendor preset: enabled)
         Active: failed (Result: exit-code) since Wed 2019-07-31 18:52:49 IST; 17h ago
           Docs: https://docs.mongodb.org/manual
       Main PID: 13728 (code=exited, status=217/USER)
      
      Jul 31 18:52:49 LAP-LIN-712 systemd[1]: Started MongoDB Database.
      Jul 31 18:52:49 LAP-LIN-712 systemd[13728]: mongodb.service: Failed to determine user credentials: No such process
      Jul 31 18:52:49 LAP-LIN-712 systemd[13728]: mongodb.service: Failed at step USER spawning /usr/bin/mongod: No such process
      Jul 31 18:52:49 LAP-LIN-712 systemd[1]: mongodb.service: Main process exited, code=exited, status=217/USER
      Jul 31 18:52:49 LAP-LIN-712 systemd[1]: mongodb.service: Failed with result 'exit-code'.
      
      **New Response:**
      $ sudo systemctl status mongodb
      ● mongodb.service - MongoDB Database
         Loaded: loaded (/etc/systemd/system/mongodb.service; enabled; vendor preset: enabled)
         Active: active (running) since Thu 2019-08-01 11:54:10 IST; 8s ago
           Docs: https://docs.mongodb.org/manual
       Main PID: 8143 (mongod)
          Tasks: 20 (limit: 4915)
         CGroup: /system.slice/mongodb.service
                 └─8143 /usr/bin/mongod --quiet --config /etc/mongod.conf
      

      【讨论】:

      • 嗨@Anju,解释一下你的代码做了什么来帮助其他用户理解。谢谢!
      • 这里没有代码只是我已经运行Linux命令“chmod”来更改mongodb目录的权限
      【解决方案3】:

      /usr/bin/mongod - No such process. ---> 这个错误意味着你将 mongod 二进制文件放在了其他路径而不是默认路径。尝试更改 mongod.service 文件中的路径并使用 service start mongodb 重新尝试

      【讨论】:

        【解决方案4】:

        对我来说,它是通过在服务文件中注释“用户”和“组”指令来解决的,如here 所述。 我希望它可以帮助某人。

        【讨论】:

        • 这会使服务以 root 身份运行,这可能会导致问题,包括不正确的文件所有权和运行具有提升权限的代码,这会使安全漏洞变得更糟。
        • 我看到该进程以非 root 用户身份运行。
        • 我分享的链接中有一条评论指出它的行为方式相同。然而,我可能没有明白你的意思。但我认为在我的案例中作为非根进程运行的进程排除了任何安全问题。无论如何感谢您的意见。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-18
        • 1970-01-01
        • 2018-06-12
        • 1970-01-01
        • 2023-03-05
        • 2013-02-07
        • 2015-01-12
        相关资源
        最近更新 更多