[HADOOP] hadoop 클러스터의 모든 노드에서 pyspark 작업을 실행할 수 없습니다.
HADOOPhadoop 클러스터의 모든 노드에서 pyspark 작업을 실행할 수 없습니다.
요약 : python-spark 작업을 hadoop 클러스터의 모든 노드에서 실행할 수 없습니다. hadoop 'spark-1.5.2-bin-hadoop2.6'에 대한 스파크를 설치했습니다. Java Spark 작업을 시작할 때로드가 발생합니다 python spark 작업을 시작할 때 모든 노드에 분산되어 하나의 노드 만로드됩니다.
설정:
나는 Gutenberg 파일 (고마워, Johannes!)을 hdfs에 복사하고 파일의 하위 세트 ( 'e'로 시작하는 파일)에서 java와 python을 사용하여 단어 수를 시도합니다.
파이썬 :
단어 개수를 수행하기 위해 홈 브루 크 파이썬 스크립트 사용하기 :
/opt/spark/bin/spark-submit wordcount.py --master yarn-cluster \
--num-executors 4 --executor-cores 1
파이썬 코드는 4 개의 파티션을 할당합니다 :
tt=sc.textFile('/user/me/gutenberg/text/e*.txt',4)
60 초 동안 4 개의 노드에로드하십시오.
자바:
스파크 배포판에서 찾은 JavaWordCount 사용 :
/opt/spark/bin/spark-submit --class JavaWordCount --master yarn-cluster \
--num-executors 4 jwc.jar '/user/me/gutenberg/text/e*.txt'
결론 : 자바 버전은 클러스터 전체에로드를 분산시키고 파이썬 버전은 하나의 노드에서 실행됩니다.
질문 : 파이썬 버전을 가져 와서 모든 노드에로드를 분산시키는 방법은 무엇입니까?
해결법
-
==============================
1.스파크 제출
스파크 제출
./bin/spark-submit \ --class <main-class> --master <master-url> \ --deploy-mode <deploy-mode> \ --conf <key>=<value> \ ... # other options <application-jar> \ [application-arguments]
다음은 매개 변수 위치에서 scala / java submit과 다른 점입니다.
대신 아래 명령을 사용해야합니다. / opt / spark / bin / spark-submit-마스터 얀-클러스터 wordcount.py --num-executors 4-실행자 코어 1
-
==============================
2.Shawn Guo가 제안한 것처럼 파이썬 프로그램 이름은 실제로 잘못된 위치에있었습니다. 이런 식으로 실행되어야합니다 :
Shawn Guo가 제안한 것처럼 파이썬 프로그램 이름은 실제로 잘못된 위치에있었습니다. 이런 식으로 실행되어야합니다 :
/opt/spark/bin/spark-submit --master yarn-cluster --num-executors 4 --executor-cores 1 wordcount.py
그러면 노드에이로드가 발생합니다.
from https://stackoverflow.com/questions/34310174/cant-get-pyspark-job-to-run-on-all-nodes-of-hadoop-cluster by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 하이브-구분 된 열을 여러 행으로 분할하고 위치를 기준으로 선택 (0) | 2019.08.09 |
---|---|
[HADOOP] 하둡 YARN 대 원사 패키지 관리자 명령 충돌 (0) | 2019.08.09 |
[HADOOP] Apache Hadoop 데이터 출력을 MySQL 데이터베이스에 저장 (0) | 2019.08.09 |
[HADOOP] 액션 북의 Mahout에서 예제를 실행하는 방법 (0) | 2019.08.09 |
[HADOOP] Spark to Oozie 공유 라이브러리 추가 (0) | 2019.08.09 |