como conectar mongodb com url replicaset?

1

Estou usando o MongoDB com replicação (bitnami) no Azure.
Eu criei três nós mongodb (1 primário, 1 secundário e 1 árbitro). Quando tento me conectar com a conexão do MongoDB URI (mongodb://username:password@ip01:27017,ip02:27017,ip03:27017/?readPreference=primary&replicaSet=replicaset) me dá erro como pymongo.errors.ServerSelectionTimeoutError: 10.0.0.5:27017: timed out,10.0.0.6:27017: [Errno 113] No route to host,10.0.0.4:27017: timed out,10.0.0.7:27017: timed out Eu preferi esta Documentação Oficial (Bitnami) para o URL de conexão.

    
por Tailor Devendra 05.08.2017 / 09:54

1 resposta

1

De acordo com o documento que você forneceu.

Ensure that the application is able to connect to each cluster node using its public or private IP address. To ensure connectivity, you have two options:

Host the application in the same network as the MongoDB cluster so that it can address each node using its private IP address. This is the recommended configuration for production environments. Host the application in a different network and assign public IP addresses, with appropriate firewall rules, to the cluster nodes (if not already assigned by default) so that the application can address each node using its public IP address. This configuration is not recommended for production environments.

Portanto, se você testar na mesma rede virtual do Azure, poderá usar o IP privado (exemplo 10.0.0.6). Se você testar fora do Azure, deverá usar o endereço IP público.

Você pode consultar esta resposta I fornecido.

Atualização:

Se você deseja conectar seus nós mongodb, você deve precisar executar ping no IP privado. É um comportamento de design.

Se você quiser fazer mongodb no seu aplicativo ou local, precisará criar uma conexão VPN de site a site ou uma conexão VPN ponto a ponto.

    
por 07.08.2017 / 04:26