6.2.5. MongoDB


참고
  • For OpenShift v3: MongoDB 쉘 버전 3.2.6
  • For OpenShift v2: MongoDB 쉘 버전 2.4.9
  1. ssh 명령을 통해 v2 애플리케이션에 원격으로 액세스합니다.

    $ rhc ssh <v2_application_name>
  2. -d <database_name> -c <collections> 으로 단일 데이터베이스를 지정하여 mongodump 를 실행합니다. 이러한 옵션이 없으면 모든 데이터베이스를 덤프합니다. 각 데이터베이스는 자체 디렉터리에서 덤프됩니다.

    $ mongodump -h $OPENSHIFT_MONGODB_DB_HOST -o app-root/repo/mydbdump -u 'admin' -p $OPENSHIFT_MONGODB_DB_PASSWORD
    $ cd app-root/repo/mydbdump/<database_name>; tar -cvzf dbname.tar.gz
    $ exit
  3. mongodump 디렉터리의 로컬 머신으로 dbdump 를 다운로드합니다.

    $ mkdir mongodump
    $ rhc scp -a <v2 appname> download mongodump \
      app-root/repo/mydbdump/<dbname>/dbname.tar.gz
  4. v3에서 MongoDB 포드를 시작합니다. 최신 이미지(3.2.6)에는 mongo-tools, mongorestore 또는 mongoimport 명령을 사용하려면 mongo-tools, "mongodb:2.4" 가 포함된 이미지 태그를 지정하기 위해 기본 mongodb-persistent 템플릿을 편집해야 합니다. 따라서 다음 oc get --export 명령 및 편집이 필요합니다.

    $ oc get -o json --export template mongodb-persistent -n openshift > mongodb-24persistent.json

    mongodb-24persistent.json 의 L80을 편집하고 mongodb:latestmongodb:2.4 로 바꿉니다.

    $ oc new-app --template=mongodb-persistent -n <project-name-that-template-was-created-in> \
      MONGODB_USER=user_from_v2_app -p \
      MONGODB_PASSWORD=password_from_v2_db -p \
      MONGODB_DATABASE=v2_dbname -p \
      MONGODB_ADMIN_PASSWORD=password_from_v2_db
    $ oc get pods
  5. mongodb 포드가 가동되어 실행되면 데이터베이스 아카이브 파일을 v3 MongoDB Pod에 복사합니다.

    $ oc rsync local/path/to/mongodump <mongodb_pod_name>:/var/lib/mongodb/data
    $ oc rsh <mongodb_pod>
  6. MongoDB 포드에서 복원하려는 각 데이터베이스에 대해 다음을 완료합니다.

    $ cd /var/lib/mongodb/data/mongodump
    $ tar -xzvf dbname.tar.gz
    $ mongorestore -u $MONGODB_USER -p $MONGODB_PASSWORD -d dbname -v /var/lib/mongodb/data/mongodump
  7. 데이터베이스가 복원되었는지 확인합니다.

    $ mongo admin -u $MONGODB_USER -p $MONGODB_ADMIN_PASSWORD
    $ use dbname
    $ show collections
    $ exit
  8. Pod에서 mongodump 디렉터리를 제거합니다.

    $ rm -rf /var/lib/mongodb/data/mongodump

지원되는 MongoDB 환경 변수

v2v3

OPENSHIFT_MONGODB_DB_HOST

[service_name]_SERVICE_HOST

OPENSHIFT_MONGODB_DB_PORT

[service_name]_SERVICE_PORT

OPENSHIFT_MONGODB_DB_USERNAME

MONGODB_USER

OPENSHIFT_MONGODB_DB_PASSWORD

MONGODB_PASSWORD

OPENSHIFT_MONGODB_DB_URL

 

OPENSHIFT_MONGODB_DB_LOG_DIR

 
 

MONGODB_DATABASE

 

MONGODB_ADMIN_PASSWORD

 

MONGODB_NOPREALLOC

 

MONGODB_SMALLFILES

 

MONGODB_QUIET

 

MONGODB_REPLICA_NAME

 

MONGODB_KEYFILE_VALUE

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.