[HADOOP] 실 클러스터 모드에 실패 oozie 런처
HADOOP실 클러스터 모드에 실패 oozie 런처
그래서 (로컬 모드와 실 - 클라이언트에서 실행 성공) 실 클러스터 모드에 스파크 작업을 실행하기 위해 노력하고있어,하지만 난 oozie의 실행이 실패 문제로 실행하고 있습니다. 다음은 표준 오류의 오류 메시지입니다.
Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.JavaMain], main() threw exception, java.lang.NoSuchMethodError: org.apache.spark.network.util.JavaUtils.byteStringAsBytes(Ljava/lang/String;)J
org.apache.oozie.action.hadoop.JavaMainException: java.lang.NoSuchMethodError: org.apache.spark.network.util.JavaUtils.byteStringAsBytes(Ljava/lang/String;)J
at org.apache.oozie.action.hadoop.JavaMain.run(JavaMain.java:60)
at org.apache.oozie.action.hadoop.LauncherMain.run(LauncherMain.java:46)
at org.apache.oozie.action.hadoop.JavaMain.main(JavaMain.java:38)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.apache.oozie.action.hadoop.LauncherMapper.map(LauncherMapper.java:228)
at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:54)
at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:453)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:343)
at org.apache.hadoop.mapred.LocalContainerLauncher$EventHandler.runSubtask(LocalContainerLauncher.java:370)
at org.apache.hadoop.mapred.LocalContainerLauncher$EventHandler.runTask(LocalContainerLauncher.java:295)
at org.apache.hadoop.mapred.LocalContainerLauncher$EventHandler.access$200(LocalContainerLauncher.java:181)
at org.apache.hadoop.mapred.LocalContainerLauncher$EventHandler$1.run(LocalContainerLauncher.java:224)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NoSuchMethodError: org.apache.spark.network.util.JavaUtils.byteStringAsBytes(Ljava/lang/String;)J
at org.apache.spark.util.Utils$.memoryStringToMb(Utils.scala:993)
at org.apache.spark.util.MemoryParam$.unapply(MemoryParam.scala:27)
at org.apache.spark.deploy.yarn.ClientArguments.parseArgs(ClientArguments.scala:168)
at org.apache.spark.deploy.yarn.ClientArguments.<init>(ClientArguments.scala:58)
at org.apache.spark.deploy.yarn.Client$.main(Client.scala:966)
at org.apache.spark.deploy.yarn.Client.main(Client.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:674)
at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:180)
at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:205)
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:120)
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.apache.oozie.action.hadoop.JavaMain.run(JavaMain.java:57)
... 19 more
이 작업은 스파크 1.5.2에서 실행, 그래서 나는 다운로드하여 가리 키도록 내 스파크 설정 파일에 spark.yarn.jar 필드를 HDFS에 스파크 조립-1.5.2-hadoop2.6.0.jar 파일을 넣어 설정 항아리 경로, 그리고 항아리가있는 디렉토리를 가리 키도록 내 job.properties 파일의 oozie.libpath 필드를 설정합니다.
I는 표준 출력 로그 클래스 경로 부에서 스파크 다른 가능한 버전을 검색하고, 스파크 1.3.0-cdh5.4.5-얀 shuffle.jar 다행히도, 스파크 어셈블리 1.5 (촬상되고, 두 인스턴스를 발견했다. 2 hadoop2.6.0.jar 너무 내가) 제대로 경로를 설정하고 다른 곳에서 포착되고있다.
그래서, 문제는 oozie 것 같다, 또는 oozie 실행기는 (작업이 실행하려고하는 시스템에 설치되어있는) 어떤 이유로 스파크 1.3을 사용하는 것이 디폴트이다. 나는 job.properties 파일에 false로 oozie.use.system.libpath 필드를 설정했지만, 도움이하지 않는 것 같습니다. 내가 할 수있는 어떤 아이디어가 포착되는 스파크 1.3를 방지 할 수있는, 또는 다른 어떤 솔루션은 내가 직면하고있는 NoSuchMethodError를 해결할 수있다?
어떤 도움을 크게, 감사 감사하겠습니다.
해결법
from https://stackoverflow.com/questions/34346013/failing-oozie-launcher-on-yarn-cluster-mode by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 스파크 방송 변수 (0) | 2019.09.29 |
---|---|
[HADOOP] HBase를, 하둡은 : 어떻게 HBase를 테이블이나 하둡 파일 시스템 경로의 크기를 추정 할 수 있습니까? (0) | 2019.09.29 |
[HADOOP] 읽기 및 JAVA에서 HDFS에 쓸 수있는 기존의 API가 있습니까 (0) | 2019.09.29 |
[HADOOP] 맵리 듀스 작업은 JSON의 HDFS 디렉토리에있는 모든 고유 필드를 수집합니다 (0) | 2019.09.29 |
[HADOOP] 오류 HDFS zkfc 명령을 실행 (0) | 2019.09.29 |