api接口

最近更新时间: 2026-03-13 09:03:00

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 '....'