本文共 1452 字,大约阅读时间需要 4 分钟。
由于一个项目部分的脚本中用到了Flink的任务监控,要求的功能单一,使用yarn rest api进行请求,没有对接监控平台,用到的一些功能如下
GET http:///ws/v1/cluster/apps/${ appid}
curl 'http:///ws/v1/cluster/apps/${appid}//state'GET http:// /ws/v1/cluster/apps/${ appid}//state
curl -v -X PUT -d '{"state": "KILLED"}''http:///ws/v1/cluster/apps/${appid}'PUT http:// /ws/v1/cluster/apps/${ appid}/state
GET http:///ws/v1/cluster/scheduler
com.alibaba fastjson ${fastjson.version} org.apache.httpcomponents httpclient ${httpclient.version}
import com.alibaba.fastjson.JSON;import org.apache.commons.httpclient.HttpClient;import org.apache.commons.httpclient.methods.GetMethod;public static void main(String[] args) throws InterruptedException { HttpClient httpClient = new HttpClient(); // 查看某个任务信息 GetMethod getMethod = new GetMethod("http://ip:port/ws/v1/cluster/apps/appid"); String response = ""; try { httpClient.executeMethod(getMethod); response = getMethod.getResponseBodyAsString().trim(); response = JSON.toJSON(response).toString(); } catch (IOException e) { e.printStackTrace(); } finally { //4.释放连接 getMethod.releaseConnection(); } System.out.println(response);}
转载地址:http://ccugn.baihongyu.com/