Hive客户端连接失败,提示“Read timed out”

客户端连接失败,提示“Read timed out”

现象描述

安全版本的集群中,HiveServer服务正常的情况下,使用Shell客户端或二次开发工具登录HiveServer失败,日志异常提“Read timed out”示关键字,具体信息如下:

org.apache.hadoop.hive.ha.client.HAConnectMonitor.<init>(HAConnectMonitor.java:54) 
 at org.apache.hadoop.hive.ha.client.HATTransport.open(HATTransport.java:158) 
 at org.apache.hadoop.hive.jdbc.ha.HAHiveConnection.<init>(HAHiveConnection.java:60) 
 ... 6 more 
 Caused by: java.net.SocketTimeoutException: Read timed out
 at java.net.SocketInputStream.socketRead0(Native Method) 
 at java.net.SocketInputStream.read(SocketInputStream.java:152) 
 at java.net.SocketInputStream.read(SocketInputStream.java:122) 
 at org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:127)

可能原因

网络原因导致Hive客户端连接HiveServer时,Socket超时,连接失败。

定位思路

  1. Hive客户端连接HiveServer时,是建立Socket连接,当网络丢包时,就有可能导致Socket超时,使Hive客户端连接HiveServer失败。
  2. 执行ping命令检查客户端到HiveServer所在节点的网络连通性与稳定性。
  3. 当网络经过排查和修复达到稳定后,正常连接耗时在1分钟以内。

处理步骤

  1. 在客户端所在机器上,执行ping HiveServer所在节点IP地址命令检查Hive客户端与集群网络质量。 如果执行命令后,如果网络不通或者延迟较大,证明网络状况较差。 请联系网络管理员排查网络问题,以保证满足业务使用。
  2. 增加网络闪断的保护,使用Hive客户端的应用层,增加连接失败重试机

关注公众号“大模型全栈程序员”回复“小程序”获取1000个小程序打包源码。更多免费资源在http://www.gitweixin.com/?p=2627

发表评论

邮箱地址不会被公开。 必填项已用*标注