[HADOOP] --jars를 사용하여 spark-submit yarn-cluster가 작동하지 않습니까?
HADOOP--jars를 사용하여 spark-submit yarn-cluster가 작동하지 않습니까?
다음 명령을 통해 Spark 작업을 CDH 원사 클러스터에 제출하려고합니다.
몇 가지 조합을 시도했지만 모두 작동하지 않습니다 ... 이제 내 로컬 / root와 HDFS / user / root / lib에 모든 poi jar가 있으므로 다음을 시도했습니다.
spark-submit --master yarn-cluster --class "ReadExcelSC" ./excel_sc.jar --jars /root/poi-3.12.jars, /root/poi-ooxml-3.12.jar, /root/poi-ooxml-schemas-3.12.jar
spark-submit --master yarn-cluster --class "ReadExcelSC" ./excel_sc.jar --jars file:/root/poi-3.12.jars, file:/root/poi-ooxml-3.12.jar, file:/root/poi-ooxml-schemas-3.12.jar
spark-submit --master yarn-cluster --class "ReadExcelSC" ./excel_sc.jar --jars hdfs://mynamenodeIP:8020/user/root/poi-3.12.jars,hdfs://mynamenodeIP:8020/user/root/poi-ooxml-3.12.jar,hdfs://mynamenodeIP:8020/user/root/poi-ooxml-schemas-3.12.jar
jar를 모든 클러스터 노드에 어떻게 전파합니까? 위의 작업 중 어느 것도 작동하지 않고 동일한 오류가 계속 발생하므로 작업이 클래스를 참조하지 못합니다.
java.lang.NoClassDefFoundError: org/apache/poi/ss/usermodel/WorkbookFactory
항아리를 / opt / cloudera / parcels / CDH / lib / spark / lib에 복사 했으므로 --jars를 지정하지 않고 동일한 명령이 "--master local"과 함께 작동합니다.
그러나 원사 클러스터 모드의 경우 외부 항아리를 모든 클러스터에 배포해야하지만 위 코드는 작동하지 않습니다.
도와 주셔서 감사합니다.
추신. spark 1.3.0과 함께 CDH5.4.2를 사용하고 있습니다.
해결법
-
==============================
1.Spark Submit의 도움말 옵션에 따르면
Spark Submit의 도움말 옵션에 따르면
참고 : 이것은 hadoop streaming의 -file 옵션과 유사하며 매퍼 / 리듀서 스크립트를 슬레이브 노드로 전송합니다.
--files 옵션도 사용해보십시오.
$ spark-submit --help Options: --jars JARS Comma-separated list of local jars to include on the driver and executor classpaths. --files FILES Comma-separated list of files to be placed in the working directory of each executor.
이것이 도움이되기를 바랍니다.
-
==============================
2.이 글타래에 게시 된 솔루션을 사용해 보셨습니까? 원사 용기 업로드 문제 발생
이 글타래에 게시 된 솔루션을 사용해 보셨습니까? 원사 용기 업로드 문제 발생
spark-assembly.jar를 각 노드의 hdfs 디렉토리에 복사 한 다음이를 매개 변수로 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
from https://stackoverflow.com/questions/31602128/spark-submit-yarn-cluster-with-jars-does-not-work by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] hsync ()가 hdfs 파일을 플러시하지 않는 이유는 무엇입니까? (0) | 2019.08.10 |
---|---|
[HADOOP] hadoop 작업을 원격으로 실행하는 중 예외 (0) | 2019.08.10 |
[HADOOP] HADOOP_HOME을 기반으로 HDFS 구성을 자동으로로드 하시겠습니까? (0) | 2019.08.10 |
[HADOOP] 하둡 파일 분할 : CompositeInputFormat : 내부 결합 (0) | 2019.08.10 |
[HADOOP] Windows 오류에서 Hadoop 빌드 : Ant BuildException (0) | 2019.08.10 |