連接重試失敗需要很長時間

默認的Apache Hadoop連接超時的值並重試很高,減少值更快地失敗。

寫的sivaprasad.cs

最後發表:2022年12月21日

問題

你試圖訪問一個表在一個偏遠的HDFS位置或一個對象存儲,您沒有權限訪問。的選擇命令失敗,它,但它不會很快失敗。它需要十分鍾,有時更多,返回ConnectTimeoutException錯誤消息。

他們最終得到的錯誤信息:“錯誤的SQL語句:ConnectTimeoutException:電話1006 - 163012 - faded894 - 10 - 133 - 241 - 86/127.0.1.1analytics.aws.healthverity.com在套接字超時異常:8020失敗:org.apache.hadoop.net.ConnectTimeoutException: 20000,米爾斯超時等待通道準備連接。ch: java.nio.channels。SocketChannel [connection-pending遠程=analytics.aws.healthverity.com/10.24.12.199:8020];更多細節見:SocketTimeout - HADOOP2 Apache軟件基金會”

導致

一切都是做設計,但是默認的Apache Hadoop連接超時的值並重試很高,這就是為什麼連接不很快失敗。

ipc.client.connect.timeout20000 ipc.client.connect.max.retries.on.timeouts 45

檢查共同core-default Hadoop的完整列表。xml值

檢查SocketTimeout文檔以了解更多的細節。

解決方案

你可以解決這個問題通過減少連接超時的值並重試。

  • ipc.client.connect.timeout值是在幾秒鍾內。
  • ipc.client.connect.max.retries.on.timeouts值是在失敗重試的次數。

在集群的設置這些值火花配置(AWS|Azure)。

如果你不確定使用什麼值,這些磚推薦值:

ipc.client.connect.timeout5000 ipc.client.connect.max.retries.on.timeouts 3


這篇文章有用嗎?