No Route to Host

You get a TCP No Route To Host Error -often wrapped in a Java IOException, when one machine on the network does not know how to send TCP packets to the machine specified.

Some possible causes (not an exclusive list):

  • The hostname of the remote machine is wrong in the configuration files
  • The client's host table /etc/hosts has an invalid IPAddress for the target host.
  • The DNS server's host table has an invalid IPAddress for the target host.
  • The client's routing tables (In Linux, iptables) are wrong.
  • The DHCP server is publishing bad routing information.
  • Client and server are on different subnets, and are not set up to talk to each other. This may be an accident, or it is to deliberately lock down the Hadoop cluster.
  • The machines are trying to communicate using IPv6. Hadoop does not currently support IPv6
  • The host's IP address has changed but a long-lived JVM is caching the old value. This is a known problem with JVMs (search for "java negative DNS caching" for the details and solutions). The quick solution: restart the JVMs

These are all network configuration/router issues. As it is your network, only you can find out and track down the problem.

  • No labels