如何通过livy杀死火花/纱线工作

时间:2017-06-28 15:24:26

标签: rest azure hdinsight livy

我正在尝试使用rest api通过livy提交spark工作。但是如果我多次运行相同的脚本,它会运行具有不同作业ID的作业的多个实例。我正在寻找一种方法来杀死同名的火花/纱线作业,然后开始一个新的。 Livy文档说(https://github.com/cloudera/livy#batch)删除批处理作业,但是livy会话不返回应用程序名称,只返回应用程序ID。

还有其他办法吗?

3 个答案:

答案 0 :(得分:1)

对于 Livy 0.7.0 版,以下有效。

您要停止的会话 ID 是 1

  • 蟒蛇
import requests
headers = {'Content-Type': 'application/json'}
session_url = 'http://your-livy-server-ip:8998/sessions/1'
requests.delete(session_url, headers=headers)
  • 外壳
curl -X DELETE http://your-livy-server-ip:8998/sessions/1

https://livy.incubator.apache.org/docs/latest/rest-api.html

答案 1 :(得分:0)

Livy服务器停止时处于活动状态的会话可能需要手动终止。使用集群管理器中的工具来实现该目标(例如,yarn命令行工具)。

运行以下命令以查找通过Livy启动的交互式作业的应用程序ID。

纱线申请表

运行以下命令以终止这些作业。

纱线申请-kill"申请ID"

参考:“https://docs.microsoft.com/en-us/azure/hdinsight/hdinsight-apache-spark-known-issues#livy-leaks-interactive-session”。

答案 2 :(得分:0)

您可以使用LivyClient API使用Livy Server提交spark作业。 LivyClient API有一个停止方法,可用于杀死作业。

LivyClient.close(真);