mongodb 실패: DB 서버 연결 오류: 연결 가능한 서버가 없습니다.
Ubuntu14.04 서버에 mongodb를 설치했습니다.
"mongoimport", "mongodump", "mongostat" 등을 통해 mongodb에 연결할 수 없었습니다.항상 "연결 가능한 서버 없음"으로 표시됩니다.
mongoimport --db test --collection restaurants --drop --file dataset.json
2015-08-25T13:08:29.802+0800 [........................] test.restaurants 0.0 B/11.3 MB (0.0%)
2015-08-25T13:08:30.306+0800 Failed: error connecting to db server: no reachable servers
2015-08-25T13:08:30.306+0800 imported 0 documents
어떻게든 몽고 쉘과 연결될 수 있었습니다.
mongo --port 27017
MongoDB shell version: 3.0.6
connecting to: 127.0.0.1:27017/test
처음에는 iptables로 인해 발생하는 것이 아닌지 의심되므로 모든 iptables 규칙을 플러시하고 ALL accept를 위한 규칙을 만들지만 여전히 동일합니다.
sudo iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A FORWARD -j ACCEPT
-A OUTPUT -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
stackOverflow를 검색하고 구글을 검색했는데 누군가 bind_ip을 off로 표시하거나 bind_ip를 0.0.0.0으로 설정했지만 모두 시도했지만 여전히 실패했습니다.
아래는 제 manggodb 구성인데, 누가 확인을 도와주실 수 있나요?도와주셔서 고마워요.
james@localhost:~$ cat /etc/mongod.conf
# mongod.conf
# Where to store the data.
# Note: if you run mongodb as a non-root user (recommended) you may
# need to create and set permissions for this directory manually,
# e.g., if the parent directory isn't mutable by the mongodb user.
dbpath=/var/lib/mongodb
#where to log
logpath=/var/log/mongodb/mongod.log
logappend=true
port = 27017
# Listen to local interface only. Comment out to listen on all interfaces.
#bind_ip = 127.0.0.1
# Disables write-ahead journaling
# nojournal = true
# Enables periodic logging of CPU utilization and I/O wait
#cpu = true
# Turn on/off security. Off is currently the default
#noauth = true
#auth = true
# Verbose logging output.
verbose = true
# Inspect all client data for validity on receipt (useful for
# developing drivers)
#objcheck = true
# Enable db quota management
#quota = true
# Set oplogging level where n is
# 0=off (default)
# 1=W
# 2=R
# 3=both
# 7=W+some reads
#diaglog = 0
# Ignore query hints
#nohints = true
# Enable the HTTP interface (Defaults to port 28017).
#httpinterface = true
# Turns off server-side scripting. This will result in greatly limited
# functionality
#noscripting = true
# Turns off table scans. Any query that would do a table scan fails.
#notablescan = true
# Disable data file preallocation.
#noprealloc = true
# Specify .ns file size for new databases.
# nssize = <size>
# Replication Options
# in replicated mongo databases, specify the replica set name here
#replSet=setname
# maximum size in megabytes for replication operation log
#oplogSize=1024
# path to a key file storing authentication info for connections
# between replica set members
#keyFile=/path/to/keyfile
임시 은 임해결다추것다입니는하를 입니다.host에 대한 mongoimport에게 알려줍니다(mongo mongo mongo를 호출합니다).127.0.0.1):
mongoimport --host=127.0.0.1
이 경우 전체 명령은 다음과 같습니다.
mongoimport --host=127.0.0.1 \
--db test --collection restaurants --drop --file dataset.json
(출처: ranjetcao @ mongorestore 실패: 연결 가능한 서버 없음)
업데이트:
Mongo >= 3.0.7로 업데이트하면 문제가 해결될 것입니다.
(출처:Colin Marshall @ mongorestore 실패: 연결 가능한 서버 없음)
업데이트 2:
버그는 여전히 일부 사용자들에게 발생하고 있는 것 같습니다.
여기에도 JIRA의 현안이 있습니다.
업데이트 3:
경우에 따라 Mongo가 ReplicaSet으로 실행되고 있기 때문에 발생할 수 있습니다.이 문제를 해결하기 위해 제가 본 바로는 복제 세트 기능을 비활성화하거나 재설정할 수 있습니다.참조:
(출처: Maxim Yefremov @ mongorestore 실패: 연결 가능한 서버 없음)
호스트 및 포트 옵션을 제공하려면 다음과 같이 하십시오.
mongoimport --host X.X.X.X --port 27017 --db dbName --collection collectionName --file fileName.json --jsonArray
호스트 옵션을 제공해야 합니다. 다음 명령을 사용해 보십시오.
mongoimport --host=127.0.0.1 -d dbName -c collectionName --file output.txt
저는 이 링크를 통해 답을 찾습니다. https://jira.mongodb.org/browse/TOOLS-620 아직 해결되지 않은 것은 몽고드 도구 버그인 것 같습니다.최신 툴이 문제를 해결했는지 아는 사람이 있는지 확실하지 않습니까?
그나저나 mongodb-tools 3.x를 제거하고 문제를 해결한 2.6.0에 다시 설치합니다.
sudo apt-get purge mongodb-org-tools
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
sudo apt-get update
sudo apt-get install -y mongodb-org-tools=2.6.0
mongoimport --db test --collection restaurants --drop --file dataset.json
connected to: 127.0.0.1
2015-08-25T15:19:59.494+0800 dropping: test.restaurants
2015-08-25T15:20:00.089+0800 check 9 25359
2015-08-25T15:20:00.089+0800 imported 25359 objects
TLS 인증을 사용하도록 설정한 경우 덤프 위치에서 아래 형식을 사용합니다.
mongorestore --host=example.com --port=27017 --username=user_name --authenticationDatabase=admin --ssl --sslCAFile /etc/ssl/rootCA.pem --sslPEMKeyFile /etc/ssl/mongodb.pem
MongoDB Atlas를 사용하면서 동일한 문제로 어려움을 겪고 있는 분들을 위해 다른 답변을 추가합니다.
seed with mongore restore, load file with mongoimport와 같은 공식 가이드를 따르려고 했지만 똑같이 받았습니다.no reachable servers오류
명령 인수를 몇 번이고 변경하려고 했지만 변경된 것은 없습니다.
그러나 클러스터 내부에서 "명령줄 도구" 탭으로 이동하여 실행해야 하는 정확한 명령을 확인했습니다.mongorestore,mongodump,mongoimport,mongoexport기타':
인라인으로 전체 명령 추가:
mongorestore --host
<cluster-name>-shard-0/
<cluster-name>-shard-00-00-obe3i.mongodb.net:27017,
<cluster-name>-shard-00-01-obe3i.mongodb.net:27017,
<cluster-name>-shard-00-02-obe3i.mongodb.net:27017
--ssl
--username <User-Name>
--password <PASSWORD>
--authenticationDatabase admin
그mongorestorecommand는 다음으로 대체할 수 있습니다.mongodump,mongoimport,mongoexport기타'
(*) 복제본 집합의 DNS가 변경될 수 있으므로 대시보드에서 직접 명령을 복사하는 것이 좋습니다.
(**) MongoDB 셸 버전 v4.2.5.
Mongo Atlas를 사용하는 사람과json컬렉션으로 가져올 파일:
mongoimport --uri mongodb+srv://<user>:<password>@your-cluster.xxxx.mongodb.net/<db> -c <collection> --file import.json --jsonArray
mongodb 도커의 경우 아래 명령을 작성하여 데이터베이스를 시드합니다.
CMD mongoimport --uri mongodb://mongodb:27017/testdb --collection users --type json --file /init.json --jsonArray
MongoDB Atlas에서 여전히 이 문제에 직면한 사람들은 mongoDB 버전을 4.0.0 이상으로 업데이트하기만 하면 작동할 것입니다.
저는 먼저 MongoDB 나침반을 다운로드했고 아틀라스의 연결 문자열을 사용했습니다.
그리고 그 연결은 매력적으로 작용했습니다.
그 후에 저는 계속해서 데이터를 추가했습니다.Add Data옵션과 내가 원하는 파일을 업로드했습니다.mongoimport
mongo atlas를 사용하여 CSV 파일을 클러스터로 가져오기도 했습니다. 여기서 언급한 여러 가지 솔루션을 시도했지만 아무도 작동하지 않았습니다. 이 솔루션이 작동하는 설명서로 돌아가서 대시보드로 이동하여 클러스터 이름을 클릭합니다.맨 오른쪽에는 명령줄 도구 데이터 가져오기 및 내보내기 도구라는 탭이 있습니다. 클러스터로 가져오는 방법을 찾을 수 있습니다.
mongoimport --uri mongodb+srv://admin:<PASSWORD>@<NAME>.mongodb.net/<DATABASE> --collection <COLLECTION> --type <FILETYPE> --file <FILENAME>
csv 파일을 업로드하는 경우 유형 뒤에 --csv 라인을 추가합니다.
안녕하세요. 최신 버전의 Mongo Database 도구를 다운로드하면 예제 웹 사이트 쇼에서 작동합니다.
https://www.mongodb.com/docs/database-tools/installation/installation/
mongoimport | 확장 JSON, CSV 또는 TSV 내보내기에서 콘텐츠 가져오기
mongoimport --uri mongodb+srv://usernmae:<PASSWORD>@monghosturl-part.mongodb.net/<DATABASE> --collection <COLLECTION> --type <FILETYPE> --file <FILENAME>
mongoexport | MongoDB 인스턴스에 저장된 데이터의 JSON 또는 CSV 내보내기 생성
mongoexport --uri mongodb+srv://usernmae:<PASSWORD>@monghosturl-part.mongodb.net/<DATABASE> --collection <COLLECTION> --type <FILETYPE> --out <FILENAME>
만약 당신이 홈브루를 통해 mongodb를 설치했다면, 당신은 간단하게 mongodb를 시작할 수 있습니다.
brew services start mongodb
그리고 나서 셸에 접근합니다.
mongo
당신은 당신의 dbby를 종료할 수 있습니다.
brew services stop mongodb
추가 옵션의 경우
brew info mongodb
mongorestore --db <thedb> --host=127.0.0.1 --port=<port> --drop path/db
언급URL : https://stackoverflow.com/questions/32195997/mongodb-failed-error-connecting-to-db-server-no-reachable-servers
'programing' 카테고리의 다른 글
| findOneAndUpdate 및 update의 mongoose 차이 (0) | 2023.05.12 |
|---|---|
| "x is null"과 "x == null"의 차이점은 무엇입니까? (0) | 2023.05.12 |
| Angular2에서 이벤트 이미터를 테스트할 방법이 있습니까? (0) | 2023.05.12 |
| 몽구스에서 사용할 때 '트림'의 의미는 무엇입니까? (0) | 2023.05.12 |
| 'async' 및 'wait'를 사용하는 방법 및 시기 (0) | 2023.05.12 |

