繁体   English   中英

高延迟网络中的java

[英]java in a high latency network

我正在使用Hadoop在位于远程主机中的HDFS之间复制文件。 我的问题是这些主机之间的网络具有高延迟(> 1秒),有时Hadoop会发出java.net.NoRouteToHostException: No route to host;的错误java.net.NoRouteToHostException: No route to host;

我认为这个问题是因为延迟而发生的。 使用ping可以访问主机,但有一点延迟。 这是一个ping的例子。 一开始它无法到达目标主机,但它确实如此。

WorkGroup4-0:~# ping WorkGroup1-4ping: unknown host WorkGroup1-4
WorkGroup4-0:~# ping WorkGroup1-1
PING WorkGroup1-1 (172.16.100.2) 56(84) bytes of data.
From WorkGroup4-0 (172.16.100.13) icmp_seq=1 Destination Host Unreachable
From WorkGroup4-0 (172.16.100.13) icmp_seq=2 Destination Host Unreachable
From WorkGroup4-0 (172.16.100.13) icmp_seq=3 Destination Host Unreachable
From WorkGroup4-0 (172.16.100.13) icmp_seq=4 Destination Host Unreachable
From WorkGroup4-0 (172.16.100.13) icmp_seq=5 Destination Host Unreachable
From WorkGroup4-0 (172.16.100.13) icmp_seq=6 Destination Host Unreachable
From WorkGroup4-0 (172.16.100.13) icmp_seq=7 Destination Host Unreachable
From WorkGroup4-0 (172.16.100.13) icmp_seq=8 Destination Host Unreachable
From WorkGroup4-0 (172.16.100.13) icmp_seq=9 Destination Host Unreachable
64 bytes from WorkGroup1-1 (172.16.100.2): icmp_req=12 ttl=64 time=1036 ms
64 bytes from WorkGroup1-1 (172.16.100.2): icmp_req=15 ttl=64 time=996 ms
^C
--- WorkGroup1-1 ping statistics ---
24 packets transmitted, 2 received, +9 errors, 91% packet loss, time 23134ms
rtt min/avg/max/mdev = 996.201/1016.462/1036.724/20.286 ms, pipe 3

有没有办法为具有高延迟的网络配置JVM,以便尝试连接到远程主机的时间更长?

多么糟糕......但是好的,这里有一个简短的测试清单:

  • dfs.client.failover.connection.retries.on.timeouts,默认值为0,介于2和5之间
  • dfs.client.failover.connection.retries,默认值为0,介于2和5之间
  • dfs.client.failover.max.attempts,默认为15,大于15,小于50

如果您的Hadoop集群内部存在延迟,请考虑Rack Awarness功能并在每个节点上分配唯一的rackId,这将告诉Hadoop您的所有节点都是远程的。

更多信息: http//hadoop.apache.org/docs/r2.2.0/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM