In meinem Linux - Rechner, wenn ich laufe hostname
, es zeigt mongodb
, aber wenn ich laufe host mongodb
, es zeigt:
mongodb@mongodb:/var/hadoop/hadoop-1.2.1/bin$ host mongodb
Host mongodb not found: 2(SERVFAIL)
Meine /etc/hosts
Akte:
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
Meine erste Frage lautet: Da
/etc/hosts
die Zuordnung von IP zu Hostname erfolgt, kann dieser Computer den Hostnamen nichtmongodb
in IP 192.168.10.10 auflösen . Stattdessen kann es beim Ausführenhost localhost
aufgelöst werden und zeigt Folgendes:localhost has address 127.0.0.1
Meine andere Frage: Laut der
/etc/hosts
Datei sollte der Hostnamelocalhost
auf 192.168.10.10 anstelle der Loopback-IP-Adresse 127.0.0.1 aufgelöst worden sein. Kann mir jemand das erklären?
/etc/hosts
hat keine Auswirkung auf die DNS-Auflösung, wenn DNS-Server direkt abgefragt werdenhost
. Viele Systemtools und Dienstprogramme verwenden jedoch dielocalhost
Definition, wobei erwartet wird, dass es sich um eine Loopback-Adresse handelt, und verwenden die Systemnamensauflösung (die/etc/hosts
vor dem Abfragen von DNS ausgeführt wird), um Namen aufzulösen, anstatt ausschließlich zu DNS zu wechseln, das möglicherweise nicht immer vorhanden ist.