[MONGODB] 탄성 콩 줄기에서 Mongos은 설치 / 설정
MONGODB탄성 콩 줄기에서 Mongos은 설치 / 설정
샤딩의 길을 찾고, 우리는 여러 mongos 인스턴스를 가질 수 있도록하고 싶습니다. 권장 사항은 각 응용 프로그램 서버에 mongos를 넣어 것 같다. 난 그냥 자신의 서버에 그 부하를 분산 거라고 생각하지만,이 문서 http://craiggwilson.com/2013/10/21/load-balanced-mongos/이에 문제가 있음을 나타냅니다.
나는 응용 프로그램 서버에있는에 돌아 왔어요 그래서. 그러나, 우리는 탄성 콩 줄기를 사용하고 있습니다. 패키지가 설치하는 나는이에 몽고를 설치할 수 있습니다. 그러나,이 Mongos에 문제를 만듭니다. 나는 mongos 시작이 mongodb.conf 파일을 사용 가야 방법을 찾을 수가있다. 복제 된 서버, 또는 설정 서버의 경우 conf의 파일에 추가 항목은 내가 원하는 길을 시작하는 원인이 될 수 있습니다. 하지만 Mongos으로 그렇게 할 수 없습니다. 나는 몽고를 설치하는 경우, 실제로 MongoDB를로 시작됩니다. 나는 그 행동을 죽이고 내 설정 서버에서 지적 Mongos로 시작하는 얻을 필요가있다.
모든 I는 생각할 수 있습니다 :
MongoDB를 시작 스크립트를 죽이고, 그 자동 시작 '정상'모드에서 데이터베이스. 는 config 서버에서 지적 mongos를 시작하는 새 신출내기 스크립트를 작성합니다.
이것에 대한 어떤 생각? 아니면 그냥 둔한거야 경우 사람의 노하우를 않습니다, 나는 mongos로 서버를 시작합니다 콩나무에 제자리에 새로운 mongodb.conf 파일을 복사 할 수 있습니까?
우리는 박쥐이 바로 일을 계획하지 않습니다,하지만 우리는 내가 장소에 조각이없는 것처럼, 어느 정도 준비해야, 나는 완전히 사실 후 내 콩나무 서버를 다시 작성해야합니다. 모든 소프트웨어가 설치된 차라리, 갈 준비가 배포 것입니다.
해결법
-
==============================
1.나는 ".ebextensions"라는 폴더와 "aws.config"라는 파일을 만들었습니다. 다음과 같이이 파일의 내용은 다음과 같습니다 -
나는 ".ebextensions"라는 폴더와 "aws.config"라는 파일을 만들었습니다. 다음과 같이이 파일의 내용은 다음과 같습니다 -
files: "/etc/yum.repos.d/mongodb.repo": mode: "000644" content: | [MongoDB] name=MongoDB Repository baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64 gpgcheck=0 enabled=1 container_commands: 01_enable_rootaccess: command: echo Defaults:root \!requiretty >> /etc/sudoers 02_install_mongo: command: yum install -y mongo-10gen-server ignoreErrors: true 03_turn_mongod_off: command: sudo chkconfig mongod off 04_create_mongos_startup_script: command: sudo sh -c "echo '/usr/bin/mongos -configdb $MONGO_CONFIG_IPS -fork -logpath /var/log/mongo/mongos.log --logappend' > /etc/init.d/mongos.sh" 05_update_mongos_startup_permissions: command: sudo chmod +x /etc/init.d/mongos.sh 06_start_mongos: command: sudo bash /etc/init.d/mongos.sh
무엇이 파일이하는 것은 -
서버가 생성 된 후 4 개 컨테이너 명령 (이 실행되는 실행하지만 WAR을 배포하기 전에이는 다음과 같습니다. -
이것은 나를 위해 작동합니다. 내 WAR 파일은 단순히 로컬 호스트에 연결하여 모든 트래픽은 라우터를 통해 이동합니다. 문서 아마존 AWS와 MongoDB를 모두 상당히 슬림 나는이에 며칠 동안 약 비틀 거렸다.
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html
UPDATE : - 당신은 나의 오래된 대답에 문제가있는 경우, 다음을 시도하십시오 - 그것은 몽고의 버전 3 작품과 현재 우리의 생산 MongoDB를 클러스터에 사용되고있다.
이 버전은 (AWS Route53를 통해) 내부 DNS를 사용하는 더 진보 - Route53를 사용하여 개인 영역까지 몽고 - cfg1.internal ....이 권장 모범 사례와 가치 설정을 확인합니다. 이 방법 당신이 깨진 인스턴스를 교체하고 Route53의 사설 IP 주소를 업데이트 할 수 MongoDB를 구성 인스턴스 중 하나에 문제가 있다면 - 정말 멋진 때마다 탄성 콩나무에 필요없이 업데이트됩니다. 당신이 영역을 생성하고 싶지 않은 경우, 당신은 단순히 (내 첫 번째 예제와 같은) configDB 속성에 IP 주소를 삽입 할 수 있습니다.
files: "/etc/yum.repos.d/mongodb.repo": mode: "000644" content: | [mongodb-org-3.0] name=MongoDB Repository baseurl=http://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/3.0/x86_64/ gpgcheck=0 enabled=1 "/opt/mongos.conf": mode: "000755" content: | net: port: 27017 operationProfiling: {} processManagement: fork: "true" sharding: configDB: mongo-cfg1.internal.company.com:27019,mongo-cfg2.internal.company.com:27019,mongo-cfg3.internal.company.com:27019 systemLog: destination: file path: /var/log/mongos.log container_commands: 01_install_mongo: command: yum install -y mongodb-org-mongos-3.0.2 ignoreErrors: true 02_start_mongos: command: "/usr/bin/mongos -f /opt/mongos.conf > /dev/null 2>&1 &"
-
==============================
2.나는 일에 bobmarksie의 솔루션 @ 얻을 수 있지만, 덕분에이 .ebextensions / aws.config 파일에 대한 anowak 및 avinci 여기에 없습니다 :
나는 일에 bobmarksie의 솔루션 @ 얻을 수 있지만, 덕분에이 .ebextensions / aws.config 파일에 대한 anowak 및 avinci 여기에 없습니다 :
files: "/home/ec2-user/install_mongo.sh" : mode: "0007555" owner: root group: root content: | #!/bin/bash echo "[MongoDB] name=MongoDB Repository baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64 gpgcheck=0 enabled=1" | tee -a /etc/yum.repos.d/mongodb.repo yum -y update yum -y install mongodb-org-server mongodb-org-shell mongodb-org-tools commands: 01install_mongo: command: ./install_mongo.sh cwd: /home/ec2-user test: '[ ! -f /usr/bin/mongo ] && echo "MongoDB not installed"' services: sysvinit: mongod: enabled: true ensureRunning: true commands: ['01install_mongo']
from https://stackoverflow.com/questions/19961046/mongos-install-setup-in-elastic-beanstalk by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] 어떻게 몽구스의 원시 MongoDB의 작업을 할까? (0) | 2019.12.28 |
---|---|
[MONGODB] 몽구스의 어떤 SchemaType는 타임 스탬프에 가장 적합합니다? (0) | 2019.12.28 |
[MONGODB] 몽고는 : 특정 필드가없는 항목을 찾을 수 (0) | 2019.12.28 |
[MONGODB] 응용 프로그램에서 불을 몽구스 모든 쿼리를 기록 (0) | 2019.12.28 |
[MONGODB] 다른 모델에 정의 몽구스 데이터베이스의 스키마를 얻는 방법 (0) | 2019.12.28 |