복붙노트

[HADOOP] 원사 항아리 업로드 문제에 대한 스파크

HADOOP

원사 항아리 업로드 문제에 대한 스파크

나는 Spark over yarn (CentOS의 Cloudera Hadoop 5.2)을 사용하여 간단한 Map / Reduce Java 프로그램을 실행하려고합니다. 나는이 두 가지 다른 방법을 시도했다. 첫 번째 방법은 다음과 같습니다.

YARN_CONF_DIR=/usr/lib/hadoop-yarn/etc/hadoop/; 
/var/tmp/spark/spark-1.4.0-bin-hadoop2.4/bin/spark-submit --class MRContainer --master yarn-cluster --jars /var/tmp/spark/spark-1.4.0-bin-hadoop2.4/lib/spark-assembly-1.4.0-hadoop2.4.0.jar  simplemr.jar

이 메서드는 다음과 같은 오류를 제공합니다.

그럼 나는 - jars없이 시도 :

YARN_CONF_DIR=/usr/lib/hadoop-yarn/etc/hadoop/; 
/var/tmp/spark/spark-1.4.0-bin-hadoop2.4/bin/spark-submit --class MRContainer --master yarn-cluster simplemr.jar

hdfs : //users//.sparkStaging에서 모든 .jars를 삭제하려고 시도했지만 다시 제출했지만 도움이되지 않았습니다.

해결법

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

    1.문제는 각 노드의 hdfs 디렉토리에 spark-assembly.jar를 복사 한 다음 spark-submit --conf spark.yarn.jar를 매개 변수로 전달하여 해결되었습니다. 명령은 다음과 같습니다.

    문제는 각 노드의 hdfs 디렉토리에 spark-assembly.jar를 복사 한 다음 spark-submit --conf spark.yarn.jar를 매개 변수로 전달하여 해결되었습니다. 명령은 다음과 같습니다.

    hdfs dfs -copyFromLocal /var/tmp/spark/spark-1.4.0-bin-hadoop2.4/lib/spark-assembly-1.4.0-hadoop2.4.0.jar /user/spark/spark-assembly.jar 
    
    /var/tmp/spark/spark-1.4.0-bin-hadoop2.4/bin/spark-submit --class MRContainer --master yarn-cluster  --conf spark.yarn.jar=hdfs:///user/spark/spark-assembly.jar simplemr.jar
    
  2. ==============================

    2.이 오류가 발생하면 --jars 옵션을 사용하여 어셈블리 jar를 업로드하거나 각 노드의 hdfs에 수동으로 복사하는 것입니다. 나는이 접근법을 따라 왔고 그것이 나를 위해 일한다.

    이 오류가 발생하면 --jars 옵션을 사용하여 어셈블리 jar를 업로드하거나 각 노드의 hdfs에 수동으로 복사하는 것입니다. 나는이 접근법을 따라 왔고 그것이 나를 위해 일한다.

    얀 클러스터 모드에서 Spark 제출은 모든 실행 프로그램 컨테이너가 읽는 분산 캐시에 어셈블리 jar를 자동으로 업로드하므로 어셈블리 jar를 수동으로 모든 노드에 복사하거나 (--jars를 통해 전달할 필요가 없습니다.) HDFS에 동일한 병의 두 가지 버전이있는 것 같습니다.

    .sparkStaging 디렉토리에서 이전의 모든 병을 제거하고 다시 시도해보십시오. 제대로 작동해야합니다.

  3. from https://stackoverflow.com/questions/30893995/spark-on-yarn-jar-upload-problems by cc-by-sa and MIT license