Many HDFS users encounter the following error when dfsclient ready file from a certain Data Node.
"Java.net.sockettimeoutexception:60000millis timeout while waiting for channel to is ready for read. Ch "
The reason about this error was that the Data Node fails to communicate with Dfsclient when Dfsclient requests some block F Rom that data node, which often occurs if the small cluster conntains too many files and the data node with such heavy b Urden cannot schedules a certain block within the limited time (for instance sec). Then dfsclient waits untill this interval fires, than turn to request the other Data Node containing the same block.
If HDFS is used for in-time service, people wil find the $ SEC timeout is too long and they hope to shorten the interval Making the dfsclient switch to other Data Node quickly. When I encounter was problem, I seach the Internet for solution. depressed, No answer iscorrect.
Then I debug the source code, finding the timeout value was controlled by the config item "Ipc.ping.interval". This item has the default value 60000 (MILLISEC). You can add the this config item to you"Core-site.xml" file and it would take the Effert when Dfsclient starts.
How to solve java.net.sockettimeoutexception:60000millis problem in HDFS