Di mesin linux saya, ketika saya menjalankan hostname, itu menunjukkan mongodb, tetapi ketika saya menjalankan host mongodb, itu menunjukkan:
mongodb@mongodb:/var/hadoop/hadoop-1.2.1/bin$ host mongodb
Host mongodb not found: 2(SERVFAIL)
/etc/hostsFile saya :
192.168.10.10 mongodb
192.168.10.10 localhost
127.0.0.1 localhost
#127.0.0.1 localhost
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Pertanyaan pertama saya adalah: Karena
/etc/hostspemetaan dari IP ke nama host, mengapa mesin ini tidak dapat menyelesaikan nama hostmongodbke IP 192.168.10.10? Sebaliknya, ketika saya menjalankanhost localhost, itu bisa diselesaikan dan menunjukkan:localhost has address 127.0.0.1Pertanyaan saya yang lain: Menurut
/etc/hostsfile tersebut, nama hostlocalhostseharusnya telah diselesaikan ke 192.168.10.10 alih-alih alamat IP loopback 127.0.0.1. Adakah yang bisa menjelaskan hal ini kepada saya?
/etc/hoststidak memiliki apa pun berpengaruh pada resolusi DNS ketika query server DNS secara langsung, yang adalah apa yanghostdilakukannya. Namun, banyak alat-alat sistem dan utilitas menggunakan yanglocalhostdefinisi, mengharapkan untuk alamat loopback, dan resolusi nama menggunakan sistem (yang terlihat pada/etc/hostssebelum query DNS) ke nama tekad daripada ketat akan DNS, yang mungkin tidak selalu hadir.