Sziasztok!
mongoexport-tal próbálnék egy db-t kiexportálni Yettel mobilnetről MongoDB Atlasból (Free tier). Felületről kimásoltam a parancsot, ahogy írta de csak várakozik a végtelenségig, nem csinál semmit. A DNS tuti szar mert a Yettel DNS szervere nem adja vissza a clusterem TXT rekordját, a google-é meg igen. Próbáltam Telekomos mobilnetről is, ott legalább a DNS jó de az eredmény ugyanaz.
$ mongoexport -vvvvvvvv --uri "mongodb+srv://<USER>:<PASS>@vitcluster0.7xu0lb3.mongodb.net/versenyek?authSource=admin&replicaSet=atlas-hzuuzv-shard-0" --collection verseny --out verseny.json --pretty
2024-08-16T16:23:43.616+0200 will listen for SIGTERM, SIGINT, and SIGKILL
2024-08-16T16:24:25.975+0200 error dialing ac-7fnfgxj-shard-00-00.7xu0lb3.mongodb.net:27017: dial tcp: lookup ac-7fnfgxj-shard-00-00.7xu0lb3.mongodb.net: no such host
2024-08-16T16:26:26.916+0200 error dialing ac-7fnfgxj-shard-00-01.7xu0lb3.mongodb.net:27017: dial tcp: lookup ac-7fnfgxj-shard-00-01.7xu0lb3.mongodb.net: no such host
2024-08-16T16:28:28.088+0200 error dialing ac-7fnfgxj-shard-00-01.7xu0lb3.mongodb.net:27017: dial tcp: lookup ac-7fnfgxj-shard-00-01.7xu0lb3.mongodb.net: no such host
2024-08-16T16:29:28.206+0200 error dialing ac-7fnfgxj-shard-00-01.7xu0lb3.mongodb.net:27017: dial tcp: lookup ac-7fnfgxj-shard-00-01.7xu0lb3.mongodb.net: no such host
2024-08-16T16:32:33.369+0200 error dialing ac-7fnfgxj-shard-00-02.7xu0lb3.mongodb.net:27017: dial tcp: lookup ac-7fnfgxj-shard-00-02.7xu0lb3.mongodb.net: no such host
2024-08-16T16:33:34.103+0200 error dialing ac-7fnfgxj-shard-00-02.7xu0lb3.mongodb.net:27017: dial tcp: lookup ac-7fnfgxj-shard-00-02.7xu0lb3.mongodb.net: no such host
2024-08-16T16:34:34.374+0200 error dialing ac-7fnfgxj-shard-00-02.7xu0lb3.mongodb.net:27017: dial tcp: lookup ac-7fnfgxj-shard-00-02.7xu0lb3.mongodb.net: no such host
$ dig vitcluster0.7xu0lb3.mongodb.net ANY
; <<>> DiG 9.18.28-0ubuntu0.20.04.1-Ubuntu <<>> vitcluster0.7xu0lb3.mongodb.net ANY
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9928
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;vitcluster0.7xu0lb3.mongodb.net. IN ANY
;; ANSWER SECTION:
vitcluster0.7xu0lb3.mongodb.net. 60 IN TXT "authSource=admin&replicaSet=atlas-hzuuzv-shard-0"
;; Query time: 103 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (TCP)
;; WHEN: Fri Aug 16 16:29:39 CEST 2024
;; MSG SIZE rcvd: 121
Namármost, hogy ebből hogy a bánatba találja ki, hogy az ac-7fnfgxj-shard-00-01.7xu0lb3.mongodb.net-hez akar kapcsolódni, azt nem tudom de eltalálja mert a cluster címek stimmelnek.
$ dig ac-7fnfgxj-shard-00-01.7xu0lb3.mongodb.net
; <<>> DiG 9.18.28-0ubuntu0.20.04.1-Ubuntu <<>> ac-7fnfgxj-shard-00-01.7xu0lb3.mongodb.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6237
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;ac-7fnfgxj-shard-00-01.7xu0lb3.mongodb.net. IN A
;; ANSWER SECTION:
ac-7fnfgxj-shard-00-01.7xu0lb3.mongodb.net. 55 IN CNAME mtm-aws-eucentral1-0-m0-12-shard-00-01.mr4xo.mongodb.net.
mtm-aws-eucentral1-0-m0-12-shard-00-01.mr4xo.mongodb.net. 55 IN CNAME ec2-18-185-253-138.eu-central-1.compute.amazonaws.com.
ec2-18-185-253-138.eu-central-1.compute.amazonaws.com. 7195 IN A 18.185.253.138
;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Fri Aug 16 16:39:50 CEST 2024
;; MSG SIZE rcvd: 213
Próbáltam úgy is, hogy a cluster primary node-jához direktben csatlakozom +srv nélkül, de az se járt sikerrel.
pentike@T440s:~/sandbox$ mongoexport -vvvvvvvv --uri "mongodb://<USER>:<PASS>@ac-7fnfgxj-shard-00-01.7xu0lb3.mongodb.net:27017/versenyek?authSource=admin&replicaSet=atlas-hzuuzv-shard-0" --collection verseny --out verseny.json --pretty
2024-08-16T16:38:44.628+0200 will listen for SIGTERM, SIGINT, and SIGKILL
^C2024-08-16T16:41:05.570+0200 signal 'interrupt' received; forcefully terminating
pentike@T440s:~/sandbox$ mongoexport -vvvvvvvv --uri "mongodb://<USER>:<PASS>@18.185.253.138:27017/versenyek?authSource=admin&replicaSet=atlas-hzuuzv-shard-0" --collection verseny --out verseny.json --pretty
2024-08-16T16:41:32.221+0200 will listen for SIGTERM, SIGINT, and SIGKILL
^C2024-08-16T16:43:19.650+0200 signal 'interrupt' received; forcefully terminating
Mit rontok el?
- 192 megtekintés
Hozzászólások
Ugy emlekszem, Atlas-nal a webes feluleten engedelyezned kell a belepest (talan IP vagy hostname vagy ilyesmi szures van defaultban - legalabbis amikor legutobb foglalkoztam vele par eve, akkor ez volt). Ezt megtetted? Compass latja esetleg?
A strange game. The only winning move is not to play. How about a nice game of chess?
- A hozzászóláshoz be kell jelentkezni
0.0.0.0/0-ra engedélyeztem, azzal nem lehet gond. Legalábbis Vercel-ről faszán megy az app. Compasst még nem próbáltam, megnézem köszi!
- A hozzászóláshoz be kell jelentkezni
Compass látja, ráadásul a Yetteles mobilnetről.
- A hozzászóláshoz be kell jelentkezni
Akkor ha az tud exportot (tippre igen), kesz is vagy. Ha scriptbe akarod tenni, akkor meg ki kell deritened mi a kulonbseg a ket csatlakozasi mod kozott.
A strange game. The only winning move is not to play. How about a nice game of chess?
- A hozzászóláshoz be kell jelentkezni
Megoldódott: klasszik hiba, egyrészt upgradelni kellett a klienst nálam, az ubuntu csomagban lévő nem volt jó. Másrészt --url -lel kellett megadni a db elérését, mert sima paraméterekből ugyanaz volt a hiba, valószínűleg azért mert ReplicaSet-ben fut a db és a -h az alapból sima hostot ad meg.
- A hozzászóláshoz be kell jelentkezni
ebből hogy a bánatba találja ki, hogy az ac-7fnfgxj-shard-00-01.7xu0lb3.mongodb.net-hez akar kapcsolódni
Az SRV feloldás úgy működik, hogy a kérdéses hostnév elé kell rakni a transport protokollt és a használni kívánt service nevét, tehát jelen esetben _mongodb._tcp. részt. És erre kell névfeloldást futtatni, SRV queryvel:
> dig _mongodb._tcp.vitcluster0.7xu0lb3.mongodb.net SRV
...
;; ANSWER SECTION:
_mongodb._tcp.vitcluster0.7xu0lb3.mongodb.net. 60 IN SRV 0 0 27017 ac-7fnfgxj-shard-00-02.7xu0lb3.mongodb.net.
_mongodb._tcp.vitcluster0.7xu0lb3.mongodb.net. 60 IN SRV 0 0 27017 ac-7fnfgxj-shard-00-00.7xu0lb3.mongodb.net.
_mongodb._tcp.vitcluster0.7xu0lb3.mongodb.net. 60 IN SRV 0 0 27017 ac-7fnfgxj-shard-00-01.7xu0lb3.mongodb.net.
A válaszként visszaadott SRV rekordokban van egy hostnév, erre még egy normál hostnév feloldást futtat a kliens. De fontos az is, hogy a válaszként visszaadott SRV rekord az nemcsak egy hostnév, hanem tartalmaz portot is, tehát a kliens program a szerver portszámot is az SRV query eredményéből fogja venni.
Hogy ez miért nem működik neked az egyik kliensből, az már egy másik kérdés. Első körben megpróbálnám, hogy másik hálózatról, pl. nem mobilnetről működik-e. Továbbá futtatnék tcpdump-ot / wireshark-ot, hogy ellenőrizzem, mi érkezik meg és mi nem.
- A hozzászóláshoz be kell jelentkezni
Nagyon köszi, ezen a prefixes dolog nem volt meg, azt hittem simán fel vannak véve az adott domainre az SRV rekordok.
- A hozzászóláshoz be kell jelentkezni