복붙노트

[HADOOP] YARN REST API - 작업 제출 시작

HADOOP

YARN REST API - 작업 제출 시작

필자는 YARN REST API를 사용하여 일반적으로 명령 줄을 통해 실행되는 스파크 제출 작업을 제출하려고합니다.

내 커맨드 라인 스파크 - 제출은 다음과 같이 보입니다.

JAVA_HOME=/usr/local/java7/ HADOOP_CONF_DIR=/etc/hadoop/conf /usr/local/spark-1.5/bin/spark-submit \
--driver-class-path "/etc/hadoop/conf" \
--class MySparkJob \
--master yarn-cluster \
--conf "spark.executor.extraClassPath=/usr/local/hadoop/client/hadoop-*" \
--conf "spark.driver.extraClassPath=/usr/local/hadoop/client/hadoop-*" \
spark-job.jar --retry false --counter 10

YARN REST API 문서 (https://hadoop.apache.org/docs/stable/hadoop-yarn/hadoop-yarn-site/ResourceManagerRest.html#Cluster_Applications_APISubmit_Application)를 통해 읽으면 POST와 유사한 JSON 페이로드를 만들려고했습니다.

{
  "am-container-spec": {
    "commands": {
      "command": "JAVA_HOME=/usr/local/java7/ HADOOP_CONF_DIR=/etc/hadoop/conf org.apache.hadoop.yarn.applications.distributedshell.ApplicationMaster  --jar spark-job.jar --class MySparkJob --arg --retry --arg false --arg --counter --arg 10"
    }, 
    "local-resources": {
      "entry": [
        {
          "key": "spark-job.jar", 
          "value": {
            "resource": "hdfs:///spark-job.jar", 
            "size": 3214567, 
            "timestamp": 1452408423000, 
            "type": "FILE", 
            "visibility": "APPLICATION"
          }
        }
      ]
    }
  }, 
  "application-id": "application_11111111111111_0001", 
  "application-name": "test",
  "application-type": "Spark"   
}

내가 보는 문제는 hadoop configs 디렉토리가 이전에 작업을 실행하고 있던 컴퓨터에 로컬인데, 이제는 REST API를 통해 작업을 제출하고 RM에서 직접 실행되므로이 ​​세부 정보를 제공하는 방법을 모르겠다는 것입니다.

해결법

  1. ==============================

    1.REST API를 통해 스파크 작업을 제출하려는 경우 Livy를 살펴볼 것을 제안합니다. 스파크 작업을 클러스터로 제출하는 간단하고 쉬운 방법입니다.

    REST API를 통해 스파크 작업을 제출하려는 경우 Livy를 살펴볼 것을 제안합니다. 스파크 작업을 클러스터로 제출하는 간단하고 쉬운 방법입니다.

    Livy는 어디서나 Apache Spark과 상호 작용할 수있는 오픈 소스 REST 인터페이스입니다. 로컬 또는 Apache Hadoop YARN에서 실행되는 Spark 컨텍스트에서 코드 또는 프로그램 스 니펫 실행을 지원합니다.

    우리는 또한 Java RMI 옵션을 통해 애플리케이션 제출을 시도했습니다.

  2. from https://stackoverflow.com/questions/34733953/yarn-rest-api-spark-job-submission by cc-by-sa and MIT license