문서 메뉴
문서 홈
/
MongoDB 매뉴얼
/ / / /

Red Hat 또는 CentOS에 MongoDB 커뮤니티 에디션 설치

이 페이지의 내용

  • 개요
  • 고려 사항
  • MongoDB 커뮤니티 에디션 설치
  • MongoDB Community 에디션 실행
  • MongoDB 커뮤니티 에디션 제거
  • 추가 정보

참고

MongoDB 아틀라스

MongoDB Atlas 는 클라우드에서 호스팅되는 MongoDB 서비스 옵션으로, 설치 오버헤드가 필요하지 않으며 무료 계층을 제공하여 시작할 수 있습니다.

이 튜토리얼을 통해 yum 패키지 관리자를 사용하여 Red Hat Enterprise Linux, CentOS Linux 또는 Oracle Linux [1]에 MongoDB 7.0 커뮤니티 에디션을 설치합니다.

이 튜토리얼에서는 MongoDB 7.0 Community 에디션을 설치합니다. 다른 버전의 MongoDB Community를 설치하려면 페이지 왼쪽 상단의 버전 드롭다운 메뉴에서 해당 버전에 대한 문서를 선택할 수 있습니다.

MongoDB 7.0 Community Edition은 {13에서 64 Red Hat Enterprise Linux(RHEL), CentOS Linux, Oracle Linux [1], Rocky Linux 및 AlmaLinux [2] 의 비트 버전을 지원합니다.x86_64 아키텍처:

  • RHEL / CentOS Stream / Oracle / Rocky / AlmaLinux 9

  • RHEL / CentOS Stream / Oracle / Rocky / AlmaLinux 8

  • RHEL / CentOS / Oracle 7

MongoDB는 이러한 플랫폼의 64비트 버전만 지원합니다.

RHEL/CentOS/Oracle/Rocky/AlmaLinux 기반의 MongoDB 7.0 커뮤니티 에디션은 일부 플랫폼에서 ARM64 아키텍처도 지원합니다.

자세한 정보는 플랫폼 지원에서 확인할 수 있습니다.

[1](1, 2) MongoDB는 Red Hat 호환 커널(RHCK)을 실행하는 Oracle Linux만 지원합니다. MongoDB는 UEK(Unbreakable Enterprise Kernel)를 지원하지 않습니다 .
[2] RHEL 버전 8.0 이상을 지원하도록 출시된 MongoDB 온프레미스 제품은 해당 배포판이 완전한 RHEL 호환성을 제공할 의무를 충족하는 경우 Rocky Linux 버전 8.0 이상과 AlmaLinux 버전 8.0 이상을 호환 및 지원합니다.

프로덕션 환경에 MongoDB를 배포하기 전에, 프로덕션 MongoDB 배포에 대한 성능 고려 사항 및 구성 권장 사항을 제공하는 자체 관리 배포서버에 대한 프로덕션 노트 문서를 고려하세요.

다음 단계에 따라 yum 패키지 관리자를 사용하여 MongoDB 커뮤니티 에디션을 설치합니다.

1

yum을 사용하여 MongoDB를 직접 설치할 수 있도록 /etc/yum.repos.d/mongodb-org-7.0.repo 파일을 생성합니다.

[mongodb-org-7.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/9/mongodb-org/7.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://pgp.mongodb.com/server-7.0.asc
[mongodb-org-7.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/7.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://pgp.mongodb.com/server-7.0.asc
[mongodb-org-7.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/7.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://pgp.mongodb.com/server-7.0.asc

MongoDB 리포지토리에서 .rpm 파일을 직접 다운로드할 수도 있습니다. 다운로드는 Red Hat/CentOS 버전(예: 9), MongoDB 릴리스 버전 (예: 7.0), 아키텍처(예: x86_64) 순으로 정리되어 있습니다.

MongoDB 5.0 이전에는 4.3 등 MongoDB의 홀수 릴리스 버전이 개발 릴리스였습니다. MongoDB 5.1부터 MongoDB는 분기별로 빠른 릴리스를 제공합니다. 신속한 지원 릴리스와 장기 지원 릴리스의 차이점에 대한 자세한 내용은 MongoDB 버전 관리에서 확인 가능합니다.

2

안정적인 최신 버전의 MongoDB를 설치하려면 다음 명령을 실행합니다.

sudo yum install -y mongodb-org

또는 MongoDB의 특정 릴리스를 설치하려면 다음 예시와 같이 각 구성 요소 패키지를 개별적으로 지정하고 패키지 이름에 버전 번호를 추가합니다.

sudo yum install -y mongodb-org-7.0.14 mongodb-org-database-7.0.14 mongodb-org-server-7.0.14 mongodb-mongosh-7.0.14 mongodb-org-mongos-7.0.14 mongodb-org-tools-7.0.14

참고

yum 은 최신 버전을 사용할 수 있게 되면 패키지를 자동으로 업그레이드합니다. MongoDB 업그레이드를 방지하려면 /etc/yum.conf 파일에 다음 exclude 지시문을 추가하여 패키지를 고정합니다.

exclude=mongodb-org,mongodb-org-database,mongodb-org-server,mongodb-mongosh,mongodb-org-mongos,mongodb-org-tools

대부분의 Unix 계열 운영 체제는 프로세스가 사용할 수 있는 시스템 리소스를 제한합니다. 이러한 제한은 MongoDB 작업에 부정적인 영향을 미칠 수 있으므로 조정해야 합니다. 플랫폼에 권장 되는 설정은 자체 관리 배포서버를 위한 UNIX ulimit 설정을 참조하세요.

참고

열려 있는 파일 수의 ulimit 값이 64000 미만인 경우 MongoDB가 시작 경고를 생성합니다.

기본적으로 MongoDB는 mongod 사용자 계정을 사용하여 실행되며 다음 기본 디렉토리를 사용합니다.

  • /var/lib/mongo (데이터 디렉토리)

  • /var/log/mongodb (로그 디렉토리)

패키지 관리자는 설치 과정에서 기본 디렉토리를 생성합니다. 소유자 및 그룹 이름은 mongod입니다.

기본 디렉토리 이외의 데이터 디렉토리 및 로그 디렉토리를 사용하려면 다음을 실행합니다.

  1. 새 디렉토리를 하나 이상 생성합니다.

  2. 구성 파일 /etc/mongod.conf를 편집하고 그에 따라 다음 필드를 수정합니다.

    • storage.dbPath로 새로운 데이터 디렉토리 경로 지정(예: /some/data/directory)

    • systemLog.path로 새로운 로그 파일 경로 지정(예: /some/log/directory/mongod.log)

  3. MongoDB를 실행하는 사용자가 디렉토리에 액세스할 수 있는지 확인합니다.

    sudo chown -R mongod:mongod <directory>

    MongoDB 프로세스를 실행하는 사용자를 변경하려면 새로운 사용자에게 디렉토리 액세스 권한을 부여해야 합니다.

  4. 적용되는 경우 SELinux를 구성합니다. SELinux 구성을 참고합니다.

MongoDB 5.0부터 다음과 같은 MongoDB 설치에 새로운 SELinux 정책을 사용할 수 있습니다.

  • .rpm 설치 프로그램을 사용합니다.

  • 기본 구성 설정을 사용합니다.

  • RHEL7 이상에서 실행합니다.

LDAP 인증을 사용하는 MongoDB Enterprise를 설치하려면 다음과 같은 추가 SELinux 정책을 적용해야 합니다.

  • OS 라이브러리를 통해 LDAP 인증을 사용하는 배포서버의 경우 MongoDB가 tcontext=system_u:object_r:ldap_port_t:s0 LDAP 포트에 액세스해야 합니다. setsebool -P authlogin_nsswitch_use_ldap 1을 실행하여 액세스를 활성화할 수 있습니다.

  • saslauthd를 이용한 LDAP 인증을 사용하는 배포서버의 경우, sudo setsebool -P daemons_enable_cluster_mode 1을 실행하여 클러스터 모드를 사용하도록 설정해야 합니다.

설치 과정이 이러한 요구 사항에 부합하지 않는 경우 .tgz 패키지에 대한 SELinux 지침을 확인합니다.

참고

MongoDB 배포서버에서 다음에 하나라도 해당하는 사용자 정의 설정을 사용하는 경우

MongoDB에서 제공하는 SELinux 정책은 사용할 수 없습니다. 다른 방법으로서 사용자 정의 SELinux 정책을 만들 수 있지만, 부적절하게 작성된 사용자 정의 정책은 보안 수준이 낮거나 mongod 인스턴스의 작동을 중지시킬 수 있습니다.

  1. 다음 패키지가 설치되어 있는지 확인합니다.

    • git

    • make

    • checkpolicy

    • policycoreutils

    • selinux-policy-devel

    sudo yum install git make checkpolicy policycoreutils selinux-policy-devel
  2. 정책 저장소를 다운로드합니다.

    git clone https://github.com/mongodb/mongodb-selinux
  3. 정책을 구축합니다.

    cd mongodb-selinux
    make
  4. 정책을 적용합니다.

    sudo make install

중요

이전 버전과 호환되지 않는 기능

MongoDB 5.1부터는 이전에 SELinux 정책을 복제한 디렉토리에서 다음 명령을 실행해야 이전 MongoDB 버전으로 다운그레이드할 수 있습니다.

sudo make uninstall
  • SELinux 정책은 표준 MongoDB .rpm 패키지 설치에 따른 구성과 함께 작동하기 위한 것입니다. 자세한 내용은 표준 설치 가정을 참조하세요.

  • SELinux 정책은 mongod 서버용으로 고안되었습니다. 다음과 같은 다른 MongoDB 디먼이나 도구에는 적용되지 않습니다.

  • SELinux 프로젝트에서 제공하는 참조 정책에는 mongodb_admin 매크로가 포함되어 있습니다. 이 매크로는 MongoDB SELinux 정책에 포함되지 않습니다. unconfined_t 도메인의 관리자는 mongod를 관리할 수 있습니다.

  • 정책을 제거하려면 정책 저장소를 다운로드한 디렉토리로 이동하여 다음을 실행합니다.

    sudo make uninstall

다음 단계에 따라 시스템에서 MongoDB 커뮤니티 에디션을 실행합니다. 이 지침은 기본 설정을 사용한다고 가정합니다.

init 시스템

mongod을 실행하고 관리하기 위해 운영 체제에 내장된 init 시스템을 사용하게 됩니다. 최신 버전의 Linux는 systemctl 명령을 사용하는 systemd를 사용하는 경향이 있는 반면, 구버전은 service 명령을 사용하는 System V init를 주로 사용합니다.

플랫폼에서 사용하는 init 시스템을 정확히 알 수 없다면 다음 명령을 실행합니다.

ps --no-headers -o comm 1

이후 결과에 따라 아래에서 적절한 탭을 선택합니다.

  • systemd - 아래의 systemd(systemctl) 탭을 선택합니다.

  • init - 아래의 System V Init(서비스) 탭을 선택합니다.


1

다음 명령을 실행하여 mongod 프로세스를 시작할 수 있습니다:

sudo systemctl start mongod

mongod 시작 시 다음과 유사한 오류가 표시되는 경우:

Failed to start mongod.service: Unit mongod.service not found.

먼저 다음 명령을 실행합니다:

sudo systemctl daemon-reload

그런 다음 위의 시작 명령을 다시 실행합니다.

2

다음 명령을 실행하여 mongod 프로세스가 성공적으로 시작되었는지 확인할 수 있습니다:

sudo systemctl status mongod

선택적으로 다음 명령을 실행하여 시스템 재부팅 후 MongoDB가 시작되도록 할 수 있습니다.

sudo systemctl enable mongod
3

필요에 따라 다음 명령을 실행하여 mongod 프로세스를 중지할 수 있습니다.

sudo systemctl stop mongod
4

다음 명령을 실행하여 mongod 프로세스를 다시 시작할 수 있습니다:

sudo systemctl restart mongod

/var/log/mongodb/mongod.log 파일의 출력을 확인하여 오류나 중요한 메시지에 대한 프로세스 상태를 따를 수 있습니다.

5

mongod와 동일한 호스트 머신에서 mongosh 세션을 시작합니다. 명령줄 옵션 없이 mongosh를 실행하여 기본 포트 27017에서 localhost에서 실행 중인 mongod에 연결할 수 있습니다.

mongosh

다른 호스트 및/또는 포트에서 실행하는 mongod 인스턴스에 연결하는 등 mongosh(을)를 사용하여 연결하는 방법에 대한 자세한 내용은 mongosh 문서를 참조하세요.

MongoDB는 사용을 시작하는 데 도움이 되도록 다양한 드라이버 에디션에 대해 시작 가이드를 제공합니다. 드라이버 설명서는 MongoDB로 개발 시작하기를 참조하세요.

1

다음 명령을 실행하여 mongod 프로세스를 시작할 수 있습니다:

sudo service mongod start
2

/var/log/mongodb/mongod.log 에서 로그 파일의 내용을 확인하여 mongod 프로세스가 성공적으로 시작되었는지 확인할 수 있습니다.

[initandlisten] waiting for connections on port <port>

여기서 <port>/etc/mongod.conf, 기본적으로 27017 에 구성된 포트입니다.

선택적으로 다음 명령을 실행하여 시스템 재부팅 후 MongoDB가 시작되도록 할 수 있습니다.

sudo chkconfig mongod on
3

필요에 따라 다음 명령을 실행하여 mongod 프로세스를 중지할 수 있습니다.

sudo service mongod stop
4

다음 명령을 실행하여 mongod 프로세스를 다시 시작할 수 있습니다:

sudo service mongod restart

/var/log/mongodb/mongod.log 파일의 출력을 확인하여 오류나 중요한 메시지에 대한 프로세스 상태를 따를 수 있습니다.

5

mongod와 동일한 호스트 머신에서 mongosh 세션을 시작합니다. 명령줄 옵션 없이 mongosh를 실행하여 기본 포트 27017에서 localhost에서 실행 중인 mongod에 연결할 수 있습니다.

mongosh

다른 호스트 및/또는 포트에서 실행하는 mongod 인스턴스에 연결하는 등 mongosh(을)를 사용하여 연결하는 방법에 대한 자세한 내용은 mongosh 문서를 참조하세요.

MongoDB는 사용을 시작하는 데 도움이 되도록 다양한 드라이버 에디션에 대해 시작 가이드를 제공합니다. 드라이버 설명서는 MongoDB로 개발 시작하기를 참조하세요.

시스템에서 MongoDB를 완전히 제거하려면 MongoDB 애플리케이션 자체와 구성 파일 및 데이터와 로그가 포함된 모든 디렉토리를 제거해야 합니다. 다음 섹션에서는 필요한 단계를 안내합니다.

경고

이 프로세스는 MongoDB와 그 구성, 모든 데이터베이스를 완전히 제거합니다. 이 프로세스는 되돌릴 수 없으므로 모든 구성과 데이터의 백업 여부를 확인한 이후에 진행해야 합니다.

1

다음 명령을 실행하여 mongod 프로세스를 중지합니다.

sudo service mongod stop
2

이전에 설치한 MongoDB 패키지를 모두 제거합니다.

sudo yum erase $(rpm -qa | grep mongodb-org)
3

MongoDB database 및 로그 파일을 제거합니다.

sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongo

기본적으로 MongoDB는 bindIp 를 로컬 호스트 네트워크 인터페이스에 바인딩하는 127.0.0.1 로 설정하여 실행됩니다. 즉, mongod 는 동일한 시스템에서 실행 중인 클라이언트의 연결만 허용할 수 있습니다. 원격 클라이언트는 mongod 에 연결할 수 없으며, 이 값이 원격 클라이언트가 액세스할 수 있는 유효한 네트워크 인터페이스로 설정되어 있지 않으면 mongod복제본 세트 를 초기화할 수 없습니다.

이 값은 다음 중 한 가지 방법으로 구성할 수 있습니다.

  • MongoDB 구성 파일에서 bindIp를 통해

  • 명령줄 인수를 통해 --bind_ip

경고

공개적으로 액세스할 수 있는 IP 주소에 인스턴스를 바인딩하기 전에 무단 액세스로부터 클러스터를 보호해야 합니다. 보안 권장 사항의 전체 목록은 자체 관리 배포서버를 위한 보안 체크리스트를 참조하세요. 최소한 인증을 활성화 하고 네트워크 인프라를 강화하는 것을 고려하세요.

bindIp 구성에 대한 자세한 내용 은 자체 관리 배포서버의 IP 바인딩을 참조하세요.

MongoDB 커뮤니티 에디션은 자체 전용 저장소에서 사용할 수 있으며 다음과 같은 공식 지원 패키지를 포함합니다.

패키지 이름
설명
mongodb-org
metapackage는 아래 나열된 구성요소 패키지를 자동으로 설치합니다.
mongodb-org-database

metapackage는 아래 나열된 구성요소 패키지를 자동으로 설치합니다.

패키지 이름
설명
mongodb-org-server
mongod 디먼, 관련 init 스크립트 및 구성 파일(/etc/mongod.conf)이 포함됩니다. 초기화 스크립트를 사용하여 구성 파일로 mongod 시작할 수 있습니다. 자세한 내용은 위의 'MongoDB 커뮤니티 에디션 실행' 섹션에서 확인 가능합니다.
mongodb-org-mongos
mongos 디먼을 포함합니다.
mongodb-mongosh
MongoDB Shell(mongosh)을 포함합니다.
mongodb-org-tools

metapackage는 아래 나열된 구성 요소 패키지를 자동으로 설치합니다.

패키지 이름
설명
mongodb-database-tools
mongodb-org-database-tools-extra
install_compass 스크립트 포함

돌아가기

Linux에 설치