Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ / / /

Ubuntu에 MongoDB Enterprise Edition 설치

이 페이지의 내용

  • 개요
  • 고려 사항
  • MongoDB Enterprise Edition 설치
  • MongoDB Enterprise Edition 실행
  • MongoDB 제거
  • 추가 정보

이 튜토리얼을 사용하여 MongoDB 8.0 을 설치합니다. apt 패키지 관리자를 사용하는 Ubuntu Linux의 LTS(장기 지원) 릴리스의 Enterprise Edition.

MongoDB Enterprise Edition은 일부 플랫폼에서 사용할 수 있으며 보안 및 모니터링과 관련된 여러 기능을 지원합니다.

이 튜토리얼에서는 MongoDB 8.0 Enterprise Edition을 설치합니다. 다른 버전의 MongoDB Enterprise를 설치하려면 이 페이지 왼쪽 상단의 버전 드롭다운 메뉴에서 해당 버전에 대한 문서를 선택하세요.

MongoDB 8.0 Enterprise Edition supports the following 64-bit Ubuntu LTS (long-term support) releases on x86_64 architecture:

  • 24.04 LTS ('노블')

  • 22.04 LTS ('Jammy')

  • 20.04 LTS('Focal')

MongoDB는 이러한 플랫폼의 64비트 버전만 지원합니다. 호스트에서 실행 중인 Ubuntu 릴리스를 확인하려면 호스트의 터미널에서 다음 명령을 실행합니다.

cat /etc/lsb-release

MongoDB 8.0 Ubuntu의 Enterprise Edition은 일부 플랫폼에서 ARM64 아키텍처도 지원합니다.

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

Ubuntu 16.04 POWER/PPC64LE를 지원하는 이전 MongoDB Enterprise 버전의 경우:

이전 버전의 glibc 패키지에 존재하는 잠금 제거 버그로 인해, POWER용 Ubuntu 16.04의 glibc 패키지를 최소 glibc 2.23-0ubuntu5(으)로 업그레이드한 후 MongoDB를 실행해야 합니다. 이전 버전의 glibc 패키지가 있는 시스템에서는 임의의 메모리 손상으로 인해 데이터베이스 서버 충돌 및 오작동이 발생하며 MongoDB의 프로덕션 배포서버에 적합하지 않습니다.

프로덕션 MongoDB 배포에 대한 성능 고려 사항 및 구성 권장 사항을 제공하는 자체 관리형 배포를 위한 프로덕션 노트 문서를 검토한 이후에 프로덕션 환경에 MongoDB를 배포합니다.

이 지침에서는 Ubuntu 시스템에 MongoDB Enterprise를 설치하기 위해 MongoDB Inc.에서 유지 관리 및 지원하는 공식 mongodb-enterprise 패키지를 사용합니다. 공식 mongodb-enterprise 패키지에는 항상 최신 버전의 MongoDB가 포함되어 있으며 자체 전용 리포지토리에서 사용할 수 있습니다.

중요

Ubuntu에서 제공하는 mongodb 패키지는 MongoDB Inc.에서 유지 관리하지 않으며 공식 mongodb-enterprise 패키지와 충돌합니다. Debian 시스템에 mongodb 패키지를 이미 설치했다면, 먼저 해당 mongodb 패키지를 제거한 후 본 지침을 진행합니다.

공식 패키지 전체 목록은 MongoDB Enterprise Edition 패키지를 참조하세요.

다음 단계에 따라 apt 패키지 관리자를 사용하여 MongoDB Enterprise Edition을 설치합니다.

1

gnupgcurl 을 이용할 수 없는 경우 터미널에서 설치합니다.

sudo apt-get install gnupg curl

MongoDB 공개 GPG 키를 가져오려면 다음 명령을 실행합니다.

curl -fsSL https://pgp.mongodb.com/server-8.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg \
--dearmor
2

사용 중인 Ubuntu 버전에 대한 목록 파일 /etc/apt/sources.list.d/mongodb-enterprise-8.0.list를 생성합니다.

Ubuntu 24.04 (Noble)에 대한 목록 파일을 생성합니다.

echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.com/apt/ubuntu noble/mongodb-enterprise/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-enterprise-8.0.list

Ubuntu 22.04 (Jammy)의 목록 파일 을 만듭니다.

echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.com/apt/ubuntu jammy/mongodb-enterprise/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-enterprise-8.0.list

Ubuntu 20.04 (Focal)에 대한 목록 파일 을 만듭니다.

echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] http://repo.mongodb.com/apt/ubuntu focal/mongodb-enterprise/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-enterprise-8.0.list
3

아래 명령을 실행하여 로컬 패키지 데이터베이스를 다시 불러옵니다.

sudo apt-get update
4

MongoDB Enterprise Server의 최신 릴리스 를 설치하려면 다음 명령을 실행 합니다.

sudo apt-get install -y mongodb-enterprise

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

sudo apt-get install -y mongodb-enterprise=8.0.4 mongodb-enterprise-database=8.0.4 mongodb-enterprise-server=8.0.4 mongodb-mongosh mongodb-enterprise-mongos=8.0.4 mongodb-enterprise-tools=8.0.4

mongodb-enterprise=8.0.4만 설치하고 구성 요소 패키지를 포함하지 않으면 지정한 버전에 관계없이 각 MongoDB 패키지의 최신 버전이 설치됩니다.

이용 가능한 모든 MongoDB 버전을 지정할 수 있지만 최신 버전을 사용할 수 있는 경우 apt-get이(가) 패키지를 업그레이드합니다. 의도하지 않은 업그레이드를 방지하려면 패키지를 고정합니다. MongoDB의 버전을 현재 설치된 버전으로 고정하려면 다음 명령 시퀀스를 실행합니다.

echo "mongodb-enterprise hold" | sudo dpkg --set-selections
echo "mongodb-enterprise-server hold" | sudo dpkg --set-selections
echo "mongodb-enterprise-database hold" | sudo dpkg --set-selections
echo "mongodb-mongosh hold" | sudo dpkg --set-selections
echo "mongodb-enterprise-mongos hold" | sudo dpkg --set-selections
echo "mongodb-enterprise-tools hold" | sudo dpkg --set-selections

참고

시스템의 OpenSSL을 사용하는 MongoDB Shell을 설치할 수도 있습니다. 시스템에 OpenSSL을 설치한 이후에 이 버전의 MongoDB Shell을 설치해야 합니다.

먼저 MongoDB Shell을 제거하지 않아도 모든 MongoDB Enterprise 패키지와 시스템 OpenSSL을 사용하는 MongoDB Shell을 설치할 수 있습니다. 그 예시는 아래와 같습니다.

sudo apt-get install -y mongodb-enterprise mongodb-mongosh-shared-openssl11

다음 예시에서는 MongoDB Shell을 제거한 다음 시스템의 OpenSSL 1.1을 사용하는 MongoDB Shell을 설치합니다.

sudo apt-get remove -y mongodb-mongosh && sudo apt-get install -y
mongodb-mongosh-shared-openssl11

다음 예시에서는 MongoDB Shell을 제거한 다음 시스템의 OpenSSL 3을 사용하는 MongoDB Shell을 설치합니다.

sudo apt-get remove -y mongodb-mongosh && sudo apt-get install -y
mongodb-mongosh-shared-openssl3

설치할 MongoDB 패키지를 선택할 수도 있습니다.

다음 예시에서는 MongoDB Enterprise와 도구, 시스템의 OpenSSL 1.1을 사용하는 MongoDB Shell을 설치합니다.

sudo apt-get install -y mongodb-enterprise-database
mongodb-enterprise-tools mongodb-mongosh-shared-openssl11

다음 예시에서는 MongoDB Enterprise와 도구, 시스템의 OpenSSL 3을 사용하는 MongoDB Shell을 설치합니다.

sudo apt-get install -y mongodb-enterprise-database
mongodb-enterprise-tools mongodb-mongosh-shared-openssl3

Ubuntu에 MongoDB 설치 중 오류가 발생하여 도움이 필요하면 문제 해결 가이드를 확인합니다.

기본적으로 MongoDB 인스턴스는 다음을 저장합니다.

  • 데이터 파일: /var/lib/mongodb

  • 로그 파일: /var/log/mongodb

패키지 관리자를 통해 설치한 경우 설치 중에 이러한 기본 디렉터리가 생성됩니다.

타르볼을 다운로드하여 수동으로 설치한 경우, MongoDB를 실행할 사용자에 따라 mkdir -p <directory> 또는 sudo mkdir -p <directory>를 사용하여 디렉터리를 만들 수 있습니다. (mkdirsudo에 대한 자세한 내용은 Linux 매뉴얼 페이지를 참조하세요.)

기본적으로 MongoDB는 mongodb 사용자 계정을 사용하여 실행됩니다. MongoDB 프로세스를 실행하는 사용자를 변경하는 경우 /var/lib/mongodb/var/log/mongodb 디렉토리에 대한 권한도 수정하여 사용자에게 이러한 디렉토리에 대한 액세스 권한을 반드시 부여해야 합니다.

다른 로그 파일 디렉토리와 데이터 파일 디렉토리를 지정하려면 /etc/mongod.conf에서 systemLog.pathstorage.dbPath 설정을 편집합니다. MongoDB를 실행하는 사용자에게 이 디렉토리에 대한 액세스 권한이 있는지 확인하세요.

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

참고

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

다음 단계에 따라 시스템에서 MongoDB Enterprise Edition을 실행하세요. 이 지침에서는 비공식 mongodb 패키지가 아닌 Ubuntu에서 제공하는 공식 mongodb-enterprise 패키지를 사용하고 기본 설정을 사용한다고 가정합니다.

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
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

mongod 프로세스가 성공적으로 시작되었는지 확인하세요.

sudo service mongod status

기본값인 /var/log/mongodb/mongod.log에 있는 mongod 프로세스의 현재 상태에 대한 로그 파일을 확인할 수도 있습니다. 실행 중인 mongod 인스턴스는 다음 줄을 사용해 연결할 준비가 되었음을 나타냅니다.

[initandlisten] waiting for connections on port 27017

3

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

sudo service mongod stop
4

다음 명령을 실행해 mongod을(를) 다시 시작합니다.

sudo service mongod restart
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 apt-get purge mongodb-enterprise*
3

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

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

MongoDB Enterprise Edition을 업그레이드할 때는 공식 패키지를 사용하고 있는지 확인하세요. 다음 예시에서와 같이 각 컴포넌트에 대해 동일한 버전을 지정합니다.

VERSION=6.0.7 sudo apt-get install -y \
mongodb-enterprise=${VERSION} \
mongodb-enterprise-server=${VERSION} \
mongodb-enterprise-mongos=${VERSION} \
mongodb-enterprise-tools=${VERSION}

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

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

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

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

경고

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

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

MongoDB Enterprise Edition은 전용 리포지토리에서 사용할 수 있으며, 다음과 같은 공식 지원 패키지를 포함하고 있습니다.

패키지 이름
설명

mongodb-enterprise

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

mongodb-enterprise-database

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

패키지 이름
설명

mongodb-enterprise-server

mongod 데몬과 관련 구성 및 초기화 스크립트가 포함합니다.

mongodb-enterprise-mongos

mongos 데몬을 포함합니다.

mongodb-enterprise-cryptd

mongocryptd 바이너리를 포함합니다.

mongodb-mongosh

MongoDB Shell(mongosh)을 포함합니다.

mongodb-shared-openssl*

컴퓨터에 이미 설치된 OpenSSL 버전을 사용하는 MongoDB Shell(mongosh)을 포함합니다.

mongodb-enterprise-tools

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

패키지 이름
설명

mongodb-database-tools

mongodb-enterprise-database-tools-extra

다음과 같은 MongoDB 지원 도구를 포함하고 있습니다.

돌아가기

.tgz 타볼을 사용하여 설치