문서 메뉴

문서 홈애플리케이션 개발MongoDB 매뉴얼

Ubuntu에 MongoDB 커뮤니티 에디션 설치

이 페이지의 내용

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

참고

MongoDB Atlas

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

이 튜토리얼에 따라 apt 패키지 관리자를 사용하여 Ubuntu Linux의 LTS(장기 지원) 릴리스에 MongoDB 7.0 커뮤니티 에디션을 설치합니다.

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

MongoDB 7.0 커뮤니티 에디션은 x86_64 아키텍처에서 다음과 같은 64비트 Ubuntu LTS(장기 지원) 릴리스를 지원합니다.

  • 22.04 LTS('Jammy')

  • 20.04 LTS('Focal')

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

cat /etc/lsb-release

Ubuntu의 MongoDB 7.0 커뮤니티 에디션은 일부 플랫폼에서 ARM64 아키텍처도 지원합니다.

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

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

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

중요

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

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

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

1

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

sudo apt-get install gnupg curl

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

curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg \
--dearmor
2

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

3

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

sudo apt-get update
4

MongoDB의 안정적인 최신 버전이나 특정 MongoDB 버전을 설치할 수 있습니다.

선택 사항입니다. 이용 가능한 모든 MongoDB 버전을 지정할 수 있지만 최신 버전을 사용할 수 있는 경우 apt-get이 패키지를 업그레이드합니다. 의도하지 않은 업그레이드를 방지하려면 현재 설치된 버전으로 패키지를 고정할 수 있습니다.

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

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

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

참고

열린 파일 수에 대한 ulimit 값이 64000 미만인 경우 MongoDB는 시작 경고를 생성합니다.

패키지 관리자를 통해 설치한 경우 설치 과정에서 데이터 디렉토리 /var/lib/mongodb 및 로그 디렉토리 /var/log/mongodb가 생성됩니다.

기본적으로 MongoDB는 mongodb 사용자 계정을 사용하여 실행됩니다. MongoDB 프로세스를 실행하는 사용자를 변경하는 경우 해당 사용자가 액세스할 수 있도록 데이터 및 로그 디렉토리에 대한 권한도 반드시 수정해야 합니다.

공식 MongoDB 패키지에는 구성 파일(/etc/mongod.conf)이 포함되어 있습니다. 이러한 설정(예: 데이터 디렉토리 및 로그 디렉토리 사양)은 시작 시 적용됩니다. 즉, MongoDB 인스턴스가 실행 중인 상태에서 구성 파일을 변경하는 경우 변경 사항을 적용하려면 인스턴스를 다시 시작해야 합니다.

다음 단계에 따라 시스템에서 MongoDB 커뮤니티 에디션을 실행합니다. 이 지침에서는 Ubuntu에서 제공하는 비공식 mongodb 패키지가 아닌 공식 mongodb-org 패키지를 사용 중이며 기본 설정을 사용하고 있다고 가정합니다.

init 시스템

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

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

ps --no-headers -o comm 1

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

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

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


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

경고

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

1

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

sudo service mongod stop
2

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

sudo apt-get purge "mongodb-org*"
3

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

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

기본적으로 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 스크립트 포함
← .tgz tarball을 사용하여 Red Hat 또는 CentOS에 MongoDB Community를 설치합니다.