在Name节点中杀死Hive Job并不会终止所有子进程

时间:2014-02-14 12:42:11

标签: hive

我试图通过 CTRL + C 终止正在运行的 HIVE 查询,但是当我使用<查看子节点进程时强> JPS 它显示我低于输出:

23955 YarnChild
3020 DataNode
3140 NodeManager
24269 YarnChild
23861 YarnChild
24026 YarnChild
24202 YarnChild
23862 YarnChild
24083 YarnChild
24708 Jps
24147 YarnChild

有人可以告诉我如何终止孩子的所有过程吗?

2 个答案:

答案 0 :(得分:1)

根据我的经验,如果使用ctrl + c杀死配置单元,它只会终止配置单元JVM。实际的MR工作没有被杀死。

就个人而言,我杀死了实际的MR工作而不是杀死hive JVM。

当hive查询运行时,它会提到MR作业的id已启动。记下该ID,并在namenode上执行以下命令:

hadoop job -kill <my_job_id>

一旦这个工作被杀死,它就会自动完成配置单元查询。无需重新启动整个群集。

答案 1 :(得分:0)

使用Curl等实用程序从浏览器或命令行尝试WebHCat API。这是WebHCat API to delete a hive job

另请注意,该链接表示

  

作业不会立即删除,因此返回的信息可能不会反映删除,如我们的示例所示。使用GET jobs /:jobid监视作业并确认它最终被删除。