【问题标题】:Query still running after completion查询完成后仍在运行
【发布时间】:2016-01-04 14:40:57
【问题描述】:

当在 Hortonworks 上的 Hue 中成功运行 HiveQL 查询(使用 TEZ 执行引擎)时,该进程在“Hue Job Browser”和“Hadoop ResourceManager UI”下仍标记为“Running”。它应该这样做是为了等待新的输入还是无法终止?

我的设置:

  • HortonWorks HDP-2.3.2.9-2950 在 3 台 RH Linux 7 机器上运行
  • 色相 3.9.0
  • Hive 1.2.1.2.3
  • Oozie 4.2.0.2.3

【问题讨论】:

  • Hive 的哪个执行引擎:MapReduce 还是 TEZ?因为 TEZ 在 YARN 容器上保留了几秒钟的租约,所以在按顺序执行多个查询时避免不必要的分配/解除分配操作(参见 tez-site.xml 中的tez.am.container.reuse.enabled、tez.am.container.idle.release-timeout-min.millis、tez.am.container.reuse.rack-fallback.enabled 等)
  • 谢谢参孙!是否可以在任何地方调整此“超时”? (我也根据你的回答写了最后的答案)
  • 您可以在 tez-site.xml 中静态更改这些tez.am.container.* 属性;或者您可以在 Hive 脚本中动态重置它们,例如set tez.am.container.reuse.enabled =false ;(但我不确定它是否会立即应用于已分配的容器,因为 A.M. 已经启动并运行)

标签: hive oozie hortonworks-data-platform hue resourcemanager


【解决方案1】:

正如 Samson Scharfrichter 所说:

TEZ 执行引擎保留 YARN 容器的租约 查询完成后几秒钟,以避免不必要的 在执行多个查询时分配/取消分配操作 顺序。

这将使已完成的查询作业在 Hive 查询前端中出现最终结果后显示为正在运行几秒钟。

谢谢 Samson Scharfrichter!

【讨论】:

    【解决方案2】:

    减少tez.session.am.dag.submit.timeout.secs 的超时时间会有所帮助。时间以秒为单位。

    <property>
    <name>tez.session.am.dag.submit.timeout.secs</name>
    <value>10</value>
    </property>
    

    /etc/tez-site.xml 文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-24
      • 2017-11-24
      • 1970-01-01
      • 1970-01-01
      • 2016-07-19
      • 2021-07-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多