更新时间:2024-09-30 GMT+08:00

客户端执行SQL报错连接超时

现象描述

客户端执行SQL失败,报错:Timed out waiting for a free available connection。

可能原因

DBService连接较多,获取连接超时。

操作步骤

  1. 客户端是否使用Spark-SQL客户端执行SQL。

    • 是,检查连接的URL中超时参数,将其修改为600,执行7
    • 否,执行2

  2. 登录Manager页面,选择“集群 > 服务 > Hive > 配置 > 全部配置”,搜索“javax.jdo.option.ConnectionURL”,检查超时参数是否小于600。

    Hive、HiveServer、MetaStore、WebHCat中均有该参数,请确保它们的参数值一致。

    • 是,执行3
    • 否,执行7

  3. 检查参数“javax.jdo.option.ConnectionURL”的值是否为“${javax.jdo.option.ConnectionURL.default}”。

    • 是,执行4
    • 否,修改URL中超时参数为600,单击“保存”,执行7

  4. 单击“实例”,选择任意HiveServer实例,并使用root用户登录实例节点。
  5. 打开配置文件“${BIGDATA_HOME}/FusionInsight_Current/*HiveServer/etc/hivemetastore-site.xml”,查找配置项“javax.jdo.option.ConnectionURL”,复制配置项值。

  6. 登陆Manager页面,选择“集群 > 服务 > Hive > 配置 > 全部配置”,搜索“javax.jdo.option.ConnectionURL”,修改配置为5中复制的URL,并修改超时参数为600,单击“保存”。

    Hive、HiveServer、MetaStore、WebHCat中均有该参数,请确保它们的参数值一致。

  7. 选择“集群 > 服务 > Hive > 配置 > 全部配置”,搜索“maxConnectionsPerPartition”,检查是否小于100。

    • 是,修改参数为100,单击“保存”,执行8
    • 否,执行8

  8. 若以上步骤有修改参数,选择“集群 > 服务 > Hive > 概览”,选择“更多 > 滚动重启服务”,未修改则无需执行此步骤。