CentOS 7에 MongoDB를 설치하고 실행하는 방법은 무엇입니까?

CentOS 7에 MongoDB를 설치하고 실행하는 방법은 무엇입니까?

CentOS 7 시스템에 MongoDB 서버를 설치하고 실행하려고 합니다. CentOS 7 시스템은 내 대학 캠퍼스에 있으며 집에서 VPN을 통해 SSH를 통해 액세스합니다.

나는 팔로우했다모든링크에 제공된 단계:
https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/

출력은 다음과 같습니다 sudo systemctl start mongod.

Job for mongod.service failed because the control process exited with error code. See "systemctl status mongod.service" and "journalctl -xe" for details.  

출력은 다음과 같습니다 systemctl status mongod.service.

● mongod.service - MongoDB Database Server
   Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Wed 2020-12-30 00:23:07 IST; 1min 41s ago
     Docs: https://docs.mongodb.org/manual
  Process: 61587 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=14)
  Process: 61584 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (code=exited, status=0/SUCCESS)
  Process: 61581 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb (code=exited, status=0/SUCCESS)
  Process: 61578 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (code=exited, status=0/SUCCESS)

Dec 30 00:23:07 smart systemd[1]: Starting MongoDB Database Server...
Dec 30 00:23:07 smart mongod[61587]: about to fork child process, waiting until server is ready for connections.
Dec 30 00:23:07 smart mongod[61587]: forked process: 61589
Dec 30 00:23:07 smart mongod[61587]: ERROR: child process failed, exited with 14
Dec 30 00:23:07 smart mongod[61587]: To see additional information in this output, start without the "--for...tion.
Dec 30 00:23:07 smart systemd[1]: mongod.service: control process exited, code=exited status=14
Dec 30 00:23:07 smart systemd[1]: Failed to start MongoDB Database Server.
Dec 30 00:23:07 smart systemd[1]: Unit mongod.service entered failed state.
Dec 30 00:23:07 smart systemd[1]: mongod.service failed.
Hint: Some lines were ellipsized, use -l to show in full.   

출력은 다음과 같습니다 journalctl -xe.

Dec 30 00:23:07 smart polkitd[1826]: Unregistered Authentication Agent for unix-process:61557:106467206 (system bus
Dec 30 00:23:08 smart dbus[1879]: [system] Successfully activated service 'org.fedoraproject.Setroubleshootd'
Dec 30 00:23:08 smart setroubleshoot[61594]: failed to retrieve rpm info for /proc/sys/net/ipv4/tcp_fastopen
Dec 30 00:23:08 smart setroubleshoot[61594]: SELinux is preventing /usr/bin/mongod from open access on the file /pr
Dec 30 00:23:08 smart python[61594]: SELinux is preventing /usr/bin/mongod from open access on the file /proc/sys/n

                                     *****  Plugin catchall (100. confidence) suggests   **************************

                                     If you believe that mongod should be allowed open access on the tcp_fastopen f
                                     Then you should report this as a bug.
                                     You can generate a local policy module to allow this access.
                                     Do
                                     allow this access for now by executing:
                                     # ausearch -c 'mongod' --raw | audit2allow -M my-mongod
                                     # semodule -i my-mongod.pp

Dec 30 00:23:11 smart setroubleshoot[61594]: SELinux is preventing /usr/bin/mongod from unlink access on the sock_f
Dec 30 00:23:11 smart python[61594]: SELinux is preventing /usr/bin/mongod from unlink access on the sock_file mong

                                     *****  Plugin catchall (100. confidence) suggests   **************************

                                     If you believe that mongod should be allowed unlink access on the mongodb-2701
                                     Then you should report this as a bug.
                                     You can generate a local policy module to allow this access.
                                     Do
                                     allow this access for now by executing:
                                     # ausearch -c 'mongod' --raw | audit2allow -M my-mongod
                                     # semodule -i my-mongod.pp

Dec 30 00:24:52 smart chronyd[2023]: Source 162.159.200.123 replaced with 5.189.141.35

어디에서 잘못되었는지 또는 기본 구성 단계를 놓친 것인지 알 수 없습니다. 나는 다음과 같은 많은 온라인 블로그/웹사이트를 시도해 보았습니다.
https://unix.stackexchange.com/a/568238/372656
https://stackoverflow.com/a/64818226
그러나 그들은 도움이 되지 않았습니다.

누구든지 이 문제를 어떻게 해결할 수 있는지 설명할 수 있나요? 미리 감사드립니다.

답변1

나는 해결책으로 내 의견을 게시할 것이라고 생각했습니다.

이는 Journalctl 출력에서 ​​SELinux가 Mongod가 특정 파일에 대해 공개 액세스하는 것을 방지하여 mongodb가 작동하지 않음을 나타냅니다. SELinux를 허용 모드로 설정하거나 SELinux에 mongodb 실행을 허용하도록 지시해야 합니다.

바라보다이 링크자세한 내용은.이 링크더 자세한 설명을 보려면 링크 1을 따라 enforcing=0으로 설정하거나 /etc/selinux/config를 편집하여 허용으로 설정하세요.

관련 정보