java api
官方文档:Apache Hadoop Main 3.2.2 API。
常用的java api接口是YarnClient,用于Client与ResourceManager之间,常用的接口有:
/*
* 提交app
*/
public abstract YarnClientApplication createApplication()
throws YarnException, IOException;
public abstract ApplicationId submitApplication(
ApplicationSubmissionContext appContext) throws YarnException,
IOException;
/*
* fail app
*/
public abstract void failApplicationAttempt(
ApplicationAttemptId applicationAttemptId) throws YarnException,
IOException;
/*
* kill app
*/
public abstract void killApplication(ApplicationId applicationId) throws YarnException,
IOException;
/*
* 获取app信息
*/
public abstract ApplicationReport getApplicationReport(ApplicationId appId)
throws YarnException, IOException;
/*
* 获取app列表
*/
public abstract List<ApplicationReport> getApplications()
throws YarnException, IOException;
public abstract List<ApplicationReport> getApplications(
Set<String> applicationTypes) throws YarnException, IOException;
public abstract List<ApplicationReport>
getApplications(EnumSet<YarnApplicationState> applicationStates)
throws YarnException, IOException;
public abstract List<ApplicationReport> getApplications(
Set<String> applicationTypes,
EnumSet<YarnApplicationState> applicationStates) throws YarnException,
IOException;
public abstract List<ApplicationReport> getApplications(
Set<String> applicationTypes,
EnumSet<YarnApplicationState> applicationStates,
Set<String> applicationTags) throws YarnException,
IOException;
public abstract List<ApplicationReport> getApplications(Set<String> queues,
Set<String> users, Set<String> applicationTypes,
EnumSet<YarnApplicationState> applicationStates) throws YarnException,
IOException;
/*
* 获取集群列表
*/
public abstract YarnClusterMetrics getYarnClusterMetrics() throws YarnException,
IOException;
/*
* 获取节点列表
*/
public abstract List<NodeReport> getNodeReports(NodeState... states)
throws YarnException, IOException;
/*
* 获取队列列表
*/
public abstract QueueInfo getQueueInfo(String queueName) throws YarnException,
IOException;
public abstract List<QueueInfo> getAllQueues() throws YarnException, IOException;
rest api
官方文档:Apache Hadoop 3.2.2 – Hadoop YARN - Introduction to the web services REST APIs。
常用的接口有:
/*
* 指标信息
*/
curl -v -k "https://${ip}:5005/ws/v1/cluster/metrics"
/*
* app列表
*/
curl -v -k "https://${ip}:5005/ws/v1/cluster/apps?states=FAILED&queue=default"
/*
* 统计信息
*/
curl -v -k "https://${ip}:5005/ws/v1/cluster/appstatistics?states=accepted,running,finished&applicationTypes=tez"
/*
* 单个app信息
*/
curl -v -k "https://${ip}:5005/xxx/${application_id}"
/*
* 节点信息
*/
curl -v -k "https://${ip}:5005/ws/v1/cluster/nodes"
/*
* 集群信息
*/
curl -v -k "https://${ip}:5005/ws/v1/cluster"
/*
* 调度信息
*/
curl -v -k "https://${ip}:5005/ws/v1/cluster/scheduler"
/*
* 修改app状态
*/
curl -v -k -XPUT -H "Content-Type: application/json" -d '{"state":"KILLED"}'
https://${ip}:5005/ws/v1/cluster/apps/${application_id}/state
/*
* 提交app
*/
curl -v -k -XPOST "https://${ip}:5005/ws/v1/cluster/apps/new-application"
curl -v -k -XPOST "https://${ip}:5005/ws/v1/cluster/apps" -H "Content-Type: application/json" -d '....'