gpt4 book ai didi

java - 闲置一分钟后运行第二个查询时,hiveserver2 org.apache.thrift.transport.TTransportException错误

转载 作者:行者123 更新时间:2023-12-02 19:18:39 25 4
gpt4 key购买 nike

我通过端口10000从我的SQL工具(即Squirrel SQL,Oracle SQL Developer)到HiveServer2(在远程服务器上运行)建立了JDBC连接。

我能够成功运行一些查询。
然后,我在1-2分钟内做了其他事情(不在SQL工具中),然后返回我的SQL工具并尝试运行查询,但出现此错误:org.apache.thrift.transport.TTransportException: java.net.SocketException: Software caused connection abort: socket write error
如果现在断开连接并在SQL工具中重新连接,则可以再次运行查询。但是有人知道我应该更改哪些HiveServer2设置以防止发生错误吗?我假设在hive-site.xml中有一些东西

从下面的hiveserver2日志中,可以看到从第30分钟到第31分钟之间发生断开连接的确切1分钟间隔。

2018-04-05T03:30:41,706  INFO [HiveServer2-Handler-Pool: Thread-36] session.SessionState: Resetting thread name to  HiveServer2-Handler-Pool: Thread-36
2018-04-05T03:30:41,712 INFO [HiveServer2-Handler-Pool: Thread-36] session.SessionState: Updating thread name to c81ec0f9-7a9d-46b6-9708-e7d78520a48a HiveServer2-Handler-Pool: Thread-36
2018-04-05T03:30:41,712 INFO [HiveServer2-Handler-Pool: Thread-36] session.SessionState: Resetting thread name to HiveServer2-Handler-Pool: Thread-36
2018-04-05T03:30:41,718 INFO [HiveServer2-Handler-Pool: Thread-36] session.SessionState: Updating thread name to c81ec0f9-7a9d-46b6-9708-e7d78520a48a HiveServer2-Handler-Pool: Thread-36
2018-04-05T03:30:41,719 INFO [HiveServer2-Handler-Pool: Thread-36] session.SessionState: Resetting thread name to HiveServer2-Handler-Pool: Thread-36
2018-04-05T03:31:41,232 INFO [HiveServer2-Handler-Pool: Thread-36] thrift.ThriftCLIService: Session disconnected without closing properly.
2018-04-05T03:31:41,233 INFO [HiveServer2-Handler-Pool: Thread-36] thrift.ThriftCLIService: Closing the session: SessionHandle [c81ec0f9-7a9d-46b6-9708-e7d78520a48a]
2018-04-05T03:31:41,233 INFO [HiveServer2-Handler-Pool: Thread-36] service.CompositeService: Session closed, SessionHandle [c81ec0f9-7a9d-46b6-9708-e7d78520a48a], current sessions:0
2018-04-05T03:31:41,233 INFO [HiveServer2-Handler-Pool: Thread-36] session.SessionState: Updating thread name to c81ec0f9-7a9d-46b6-9708-e7d78520a48a HiveServer2-Handler-Pool: Thread-36
2018-04-05T03:31:41,233 INFO [HiveServer2-Handler-Pool: Thread-36] session.SessionState: Resetting thread name to HiveServer2-Handler-Pool: Thread-36
2018-04-05T03:31:41,233 INFO [HiveServer2-Handler-Pool: Thread-36] session.SessionState: Updating thread name to c81ec0f9-7a9d-46b6-9708-e7d78520a48a HiveServer2-Handler-Pool: Thread-36
2018-04-05T03:31:41,233 INFO [HiveServer2-Handler-Pool: Thread-36] session.HiveSessionImpl: Operation log session directory is deleted: /var/hive/hs2log/tmp/c81ec0f9-7a9d-46b6-9708-e7d78520a48a
2018-04-05T03:31:41,233 INFO [HiveServer2-Handler-Pool: Thread-36] session.SessionState: Resetting thread name to HiveServer2-Handler-Pool: Thread-36
2018-04-05T03:31:41,236 INFO [HiveServer2-Handler-Pool: Thread-36] session.SessionState: Deleted directory: /var/hive/scratch/tmp/anonymous/c81ec0f9-7a9d-46b6-9708-e7d78520a48a on fs with scheme file
2018-04-05T03:31:41,236 INFO [HiveServer2-Handler-Pool: Thread-36] session.SessionState: Deleted directory: /var/hive/ec2-user/c81ec0f9-7a9d-46b6-9708-e7d78520a48a on fs with scheme file
2018-04-05T03:31:41,236 INFO [HiveServer2-Handler-Pool: Thread-36] hive.metastore: Closed a connection to metastore, current connections: 1

环境:
  • 将hive.server2.transport.mode设置为二进制的Hive 2.1.1(示例JDBC字符串为jdbc:hive2:// remotehost:10000 / default)
  • Hadoop 2.8.3
  • 使用MySQL 的
  • Metastore
  • Java 8
  • 最佳答案

  • 将AWS ELB的默认超时从1分钟更改为20分钟
  • 将SimbaHive驱动程序与Squirrel一起使用(无超时)或将标准apache hive2驱动程序与IBM数据工作室一起使用(无超时)
  • 关于java - 闲置一分钟后运行第二个查询时,hiveserver2 org.apache.thrift.transport.TTransportException错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49662520/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com