2016-07-22 4 views
1

3 개의 노드가있는 MongoDB 복제 세트를 설정했습니다. 모든 서버는 동일한 VPC에 있지만 서로 다른 가용성 영역에 있습니다. 덕분에 etc/hosts 파일 덕분에 다른 노드를 찾을 수있는 곳을 설명하면서 복제 세트가 노드간에 통신 할 수있게되었습니다. 내 etc/hosts 파일은 3 개의 노드 모두에서 이와 같이 보입니다.mongodb 연결 문자열에 호스트 이름 또는 IP 주소를 사용해야합니까?

127.0.0.1 localhost mongo0.example.com 
Private IP 1 mongo0.example.com 
Private IP 2 mongo1.example.com 
Private IP 3 mongo2.example.com 

이제 앱 서버가 복제본 세트에 연결해야합니다. 연결 문자열에서 노드의 IP 주소를 사용해야합니까, 아니면 호스트 이름을 사용해야합니까?

mongodb://private_ip1:27017,private_ip2:27017,private_ip3:27017/dbname?replicaSet=rs0 또는 는 후자 (호스트 이름)의 경우 mongodb://mongo0.example.com:27017,mongo1.example.com:27017,mongo2.example.com:27017/dbname?replicaSet=rs0

, 나는 응용 프로그램 서버의 /etc/hosts 몽고의 각 노드 같이 구성해야합니까?

답변

1

IP 주소를 사용하는 것은 일반적으로 좋지 않은 생각이며 변경해야 할 수도 있습니다. 가능하다면 호스트 이름을 고수 할 것입니다.

그렇습니다. 모든 복제본 구성원 은 모든 응용 프로그램 서버 또는 클라이언트 시스템이 필요하면/etc/hosts를 사용하여 이름을 확인할 수 있어야합니다.

자세한 내용은 this thread을 참조하십시오.

관련 문제