我正在尝试提交火花作业通过livy使用rest api。但是如果我多次运行同一个脚本,它会运行多个具有不同作业ID的作业实例。我正在寻找一种方法,可以在启动新作业之前杀死运行相同名称的spark/yarn作业。Livy document说(https://github.com/cloudera/livy#batch)删除批处理作业,但是livy session不返回应用程序名称,只返回应用程序id。
有没有其他方法可以做到这一点?
发布于 2018-01-03 22:10:17
您可以通过Livy Server使用LivyClient接口提交spark作业。LivyClient应用程序接口有一个stop方法,可以用来终止作业。
LivyClient.close(真);
发布于 2021-04-02 06:17:30
对于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
发布于 2017-06-29 01:50:22
Livy服务器停止时处于活动状态的会话可能需要手动终止。使用集群管理器中的工具(例如,yarn命令行工具)来实现这一点。
运行以下命令,查找通过Livy启动的交互式作业的应用程序ID。
yarn应用程序-list
运行以下命令以终止这些作业。
yarn应用程序-kill“应用程序ID"
https://stackoverflow.com/questions/44806735
复制相似问题