Spark python 스크립트를 Oozie 워크 플로로 실행해야하는데 Spark로 스크립트를 로컬에서 테스트했지만 Oozie에 제출하면 ' 왜 작동하지 않는지 알아 내십시오. 나는 Cloudera VM을 사용하고 있으며 색조 대시 보드로 Oozie를 관리하고 있습니다. 여기에 스파크 조치에 대한 워크 플로 구성은 다음과 같습니다Oozie와 Hue로 Spark python 작업 실행 - System.exit 가로 채기 (
Spark Master: local[*]
Mode: client
App name: myApp
Jars/py files: hdfs://localhost:8120/user/cloudera/example.py
Main class: org.apache.spark
난 그냥 뭔가를 인쇄하는 간단한 예제를 실행도했지만, 내가 Oozie를 제출하는 모든 스크립트 나에게이 출력 제공 :
>>> Invoking Spark class now >>>
Intercepting System.exit(1)
<<< Invocation of Main class completed <<<
Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.SparkMain], exit code [1]
Oozie Launcher failed, finishing Hadoop job gracefully
Oozie Launcher, uploading action data to HDFS sequence file: hdfs://quickstart.cloudera:8020/user/cloudera/oozie-oozi/0000005-161228161942928-oozie-oozi-W/spark-cc87--spark/action-data.seq
Oozie Launcher ends
[편집을 ]
나는 spark master : yarn-cluster를 설정했을 때만 워크 플로가 시작된다는 것을 알았지 만,이 모드에서도 spark 앱이 ACCEPTED 상태 인 동안 95 % 완료지도에서 멈추는 실 컨테이너가 시작됩니다. 스파크 동작을 시작할 수 있도록 얀 메모리 매개 변수를 변경하려고합니다. 살찐는 하트 비트
[SOLVED]
oozie 워크 플로우는 평 파일이 로컬 인 경우에만 시작하고, 색상은 워크 플로우 폴더를 만든 후 수동으로 lib 폴더에 삽입 인쇄 할 수 있습니다. 나는 최선의 해결책은 여전히 스파크 - 제출을 사용하여 쉘 스크립트를 작성하는 것이라고 생각한다.
귀하의 python hdfs 위치가 맞습니까? 'hdfs : // localhost : 8120/user/cloudera/example.py' – mrsrinivas
예전에는 경로를 /user/cloudera/example.py로 설정했고 'file not found'오류가 발생했지만 이제는 콘솔에는 System.exit (1)이 있습니다. –
"lib 폴더"란 지역의 spark python 폴더에있는 lib 폴더를 의미합니까? –