2017-03-18 11 views
0

mongodb atlas를 사용하여 클러스터를 만들었습니다. 하지만 로컬 mongo 쉘을 사용하여 연결할 수 없습니다.song의 mongodb atlas 연결 문제

아래 연결 문자열을 사용할 때 --ssl unrecognized라고 표시됩니다.

Harshavardhans-MacBook-Pro:bin harshavmb$ mongo "mongodb://m123-rs1-shard-00-00-wn1jr.mongodb.net:27017,m123-rs1-shard-00-01-wn1jr.mongodb.net:27017,m123-rs1-shard-00-02-wn1jr.mongodb.net:27017/test?replicaSet=m123-rs1-shard-0" --authenticationDatabase admin --ssl --username mongoadmin --password ***** 

오류 분석 명령 행 : 알 수없는 옵션 '--ssl' 자세한 내용은

내가 --ssl를 제거하려고하면에 대한 '몽고 --help'시도, 나는 O/P 아래를 참조 .

Harshavardhans-MacBook-Pro:bin harshavmb$ mongo "mongodb://m123-rs1-shard-00-00-wn1jr.mongodb.net:27017,m123-rs1-shard-00-01-wn1jr.mongodb.net:27017,m123-rs1-shard-00-02-wn1jr.mongodb.net:27017/test?replicaSet=m123-rs1-shard-0" --authenticationDatabase admin --username mongoadmin --password **** 
MongoDB shell version: 3.2.10 
connecting to: mongodb://m123-rs1-shard-00-00-wn1jr.mongodb.net:27017,m123-rs1-shard-00-01-wn1jr.mongodb.net:27017,m123-rs1-shard-00-02-wn1jr.mongodb.net:27017/test?replicaSet=m123-rs1-shard-0 
2017-03-18T14:19:00.820+0530 I NETWORK [thread1] Starting new replica set monitor for m123-rs1-shard-0/m123-rs1-shard-00-00-wn1jr.mongodb.net:27017,m123-rs1-shard-00-01-wn1jr.mongodb.net:27017,m123-rs1-shard-00-02-wn1jr.mongodb.net:27017 
2017-03-18T14:19:00.820+0530 I NETWORK [ReplicaSetMonitorWatcher] starting 
2017-03-18T14:19:06.255+0530 I NETWORK [thread1] Socket recv() timeout 35.167.185.140:27017 
2017-03-18T14:19:06.258+0530 I NETWORK [thread1] SocketException: remote: (NONE):0 error: 9001 socket exception [RECV_TIMEOUT] server [35.167.185.140:27017] 
2017-03-18T14:19:07.040+0530 I NETWORK [thread1] Socket recv() errno:54 Connection reset by peer 35.162.95.185:27017 
2017-03-18T14:19:07.040+0530 I NETWORK [thread1] SocketException: remote: (NONE):0 error: 9001 socket exception [RECV_ERROR] server [35.162.95.185:27017] 
2017-03-18T14:19:07.757+0530 I NETWORK [thread1] Socket recv() errno:54 Connection reset by peer 35.162.83.174:27017 
2017-03-18T14:19:07.757+0530 I NETWORK [thread1] SocketException: remote: (NONE):0 error: 9001 socket exception [RECV_ERROR] server [35.162.83.174:27017] 
2017-03-18T14:19:07.757+0530 W NETWORK [thread1] No primary detected for set m123-rs1-shard-0 
2017-03-18T14:19:08.985+0530 I NETWORK [thread1] Socket recv() errno:54 Connection reset by peer 35.162.95.185:27017 
2017-03-18T14:19:08.985+0530 I NETWORK [thread1] SocketException: remote: (NONE):0 error: 9001 socket exception [RECV_ERROR] server [35.162.95.185:27017] 
2017-03-18T14:19:09.702+0530 I NETWORK [thread1] Socket recv() errno:54 Connection reset by peer 35.162.83.174:27017 
2017-03-18T14:19:09.702+0530 I NETWORK [thread1] SocketException: remote: (NONE):0 error: 9001 socket exception [RECV_ERROR] server [35.162.83.174:27017] 
2017-03-18T14:19:10.419+0530 I NETWORK [thread1] Socket recv() errno:54 Connection reset by peer 35.167.185.140:27017 
2017-03-18T14:19:10.419+0530 I NETWORK [thread1] SocketException: remote: (NONE):0 error: 9001 socket exception [RECV_ERROR] server [35.167.185.140:27017] 
2017-03-18T14:19:10.419+0530 W NETWORK [thread1] No primary detected for set m123-rs1-shard-0 
2017-03-18T14:19:11.648+0530 I NETWORK [ReplicaSetMonitorWatcher] Socket recv() errno:54 Connection reset by peer 35.162.95.185:27017 
2017-03-18T14:19:11.648+0530 I NETWORK [thread1] Socket recv() errno:54 Connection reset by peer 35.167.185.140:27017 
2017-03-18T14:19:11.648+0530 I NETWORK [ReplicaSetMonitorWatcher] SocketException: remote: (NONE):0 error: 9001 socket exception [RECV_ERROR] server [35.162.95.185:27017] 
2017-03-18T14:19:11.648+0530 I NETWORK [thread1] SocketException: remote: (NONE):0 error: 9001 socket exception [RECV_ERROR] server [35.167.185.140:27017] 
2017-03-18T14:19:12.364+0530 I NETWORK [ReplicaSetMonitorWatcher] Socket recv() errno:54 Connection reset by peer 35.162.83.174:27017 
2017-03-18T14:19:12.365+0530 I NETWORK [ReplicaSetMonitorWatcher] SocketException: remote: (NONE):0 error: 9001 socket exception [RECV_ERROR] server [35.162.83.174:27017] 
2017-03-18T14:19:12.365+0530 W NETWORK [ReplicaSetMonitorWatcher] No primary detected for set m123-rs1-shard-0 
2017-03-18T14:19:14.731+0530 I NETWORK [thread1] Socket recv() errno:54 Connection reset by peer 35.162.83.174:27017 
2017-03-18T14:19:14.731+0530 I NETWORK [thread1] SocketException: remote: (NONE):0 error: 9001 socket exception [RECV_ERROR] server [35.162.83.174:27017] 
2017-03-18T14:19:14.731+0530 W NETWORK [thread1] No primary detected for set m123-rs1-shard-0 
2017-03-18T14:19:15.845+0530 I NETWORK [thread1] Socket recv() errno:54 Connection reset by peer 35.162.95.185:27017 
2017-03-18T14:19:15.845+0530 I NETWORK [thread1] SocketException: remote: (NONE):0 error: 9001 socket exception [RECV_ERROR] server [35.162.95.185:27017] 
2017-03-18T14:19:16.563+0530 I NETWORK [thread1] Socket recv() errno:54 Connection reset by peer 35.167.185.140:27017 
2017-03-18T14:19:16.563+0530 I NETWORK [thread1] SocketException: remote: (NONE):0 error: 9001 socket exception [RECV_ERROR] server [35.167.185.140:27017] 
2017-03-18T14:19:17.176+0530 I NETWORK [thread1] Socket recv() errno:54 Connection reset by peer 35.162.83.174:27017 
2017-03-18T14:19:17.177+0530 I NETWORK [thread1] SocketException: remote: (NONE):0 error: 9001 socket exception [RECV_ERROR] server [35.162.83.174:27017] 
2017-03-18T14:19:17.177+0530 W NETWORK [thread1] No primary detected for set m123-rs1-shard-0 
2017-03-18T14:19:17.181+0530 E QUERY [thread1] Error: connect failed to replica set m123-rs1-shard-0/m123-rs1-shard-00-00-wn1jr.mongodb.net:27017,m123-rs1-shard-00-01-wn1jr.mongodb.net:27017,m123-rs1-shard-00-02-wn1jr.mongodb.net:27017 : 
[email protected]/mongo/shell/mongo.js:223:14 
@(connect):1:6 

exception: connect failed 

흥미롭게도 저는 java 드라이버를 사용하여 클러스터에 연결할 수있었습니다. 셸에만이 문제가 있습니다.

이 SSL 문제를 해결하기 위해 Google 검색을 많이 해봤지만 도움이되는 링크를 찾을 수 없습니다.

도움을 주시면 감사하겠습니다.

미리 감사드립니다.

답변

0

Mongo 3.2 바이너리를 /usr/local/bin 디렉토리에 복사 했으므로 새로운 버전의 mongo 바이너리 (3.4)가 허용되지 않았습니다. 결국 결국 /usr/local/bin 디렉토리에서 바이너리를 제거하고 3.4의 바이너리를 붙여 넣어야합니다. 그러면 ssl 문제가 해결됩니다.

1

오류 분석 명령 행 : 알 수없는 옵션 모든 연결에 대한 자세한 내용은

MongoDB를 아틀라스 requires SSL/TLS에 대한 '몽고 --help'시도 '--ssl'. 이 명령 줄 오류는 mongo 셸의 버전이 SSL/TLS 지원을 포함하지 않음을 나타냅니다.

환경 설정에 따라 사용하여 적절한 mongo 쉘 버전을 설치할 수 있습니다

  • Homebrew을 : brew install mongodb --with-openssl.
  • MongoDB Download Center. 참고 : 기본값은 SSL 지원을 사용하여 바이너리를 다운로드해야하지만 드롭 다운 목록에도 비 SSL 다운로드가 있습니다.

mongod 서비스를 관리하고 새로운 릴리스로 업데이트하는 과정을 단순화하므로 일반적으로 패키지 된 버전 (예 : 홈 브루)을 설치하는 것이 좋습니다. 바이너리 다운로드는 MongoDB의 여러 버전을 실행하거나 파일을 특정 디렉토리에 격리 시키려고하지만 서비스 래퍼 또는 기본 설정 파일과 같은 편리함을 포함하지 않는 경우에 더 적합 할 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. 문제가 생겼어. Mongo 3.2 바이너리를/usr/local/bin 디렉토리에 복사 했으므로 새로운 버전의 mongo 바이너리 (3.4)를 사용할 수 없습니다. 그래서 결국/usr/local/bin 디렉토리에서 바이너리를 제거하고 3.4의 바이너리를 붙여 넣어야하고 ssl 문제가 수정되었습니다. 답변 해 주셔서 다시 한 번 감사드립니다. – harshavmb

1

MongoDB Atlas가 모든 연결에 필요하기 때문에 mongodb를 SSL/TSL과 함께 사용해야합니다.

다음 명령을 실행하면 얻을 수 있습니다.

brew install mongodb --with-openssl 

그리고 mongodb를 3.4.4로 업그레이드하십시오.

brew upgrade mongodb 

그런 다음 mongo shell을 통해 mongo cloud에 연결하십시오.