大家好,小活来为大家解答以上问题。no route to host host unreachable,no route to host很多人还不知道,现在让我们一起来看看吧!
1、 1.在应用程序中调用不同的服务时,经常会遇到程序无法路由到主机异常的问题。如下图所示
2、 一些日志被拦截如下:
3、 Caused by: java.net.NoRouteToHostException: No route to host
4、 at java.net.PlainSocketImpl.socketConnect(Native Method) ~[na:1.8.0_91]
5、 at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) ~[na:1.8.0_91]
6、 at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) ~[na:1.8.0_91]
7、 at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) ~[na:1.8.0_91]
8、 at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[na:1.8.0_91]
9、 at java.net.Socket.connect(Socket.java:589) ~[na:1.8.0_91]
10、 at java.net.Socket.connect(Socket.java:538) ~[na:1.8.0_91]
11、 at sun.net.NetworkClient.doConnect(NetworkClient.java:180) ~[na:1.8.0_91]
12、 at sun.net.www.http.HttpClient.openServer(HttpClient.java:432) ~[na:1.8.0_91]
13、 at sun.net.www.http.HttpClient.openServer(HttpClient.java:527) ~[na:1.8.0_91]
14、 at sun.net.www.http.HttpClient.init(HttpClient.java:211) ~[na:1.8.0_91]
15、 at sun.net.www.http.HttpClient.New(HttpClient.java:308) ~[na:1.8.0_91]
16、 at sun.net.www.http.HttpClient.New(HttpClient.java:326) ~[na:1.8.0_91]
17、 at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1169) ~[na:1.8.0_91]
18、 2.使用telnet目标机器IP目标端口号命令来确定目标机器的端口是否打开。
19、 3.登录到目标服务器并检查防火墙状态:
20、 serviceiptablesstatus
21、 使用iptables - list命令查看当前服务器防火墙的配置。(注意:命令需要切换到Linux系统的Root用户。)
22、 4.发现目标机的对应端口没有打开。
23、 输入以下命令打开端口:
24、 #iptables打开端口命令
25、 iptables -I INPUT -p tcp --dport 2181 -j ACCEPT
26、 5.最后,在调用机器上使用telnet命令验证目标端口可以通信,如下图所示。
本文到此结束,希望对大家有所帮助。