zoukankan      html  css  js  c++  java
  • Spark作业提交至Yarn上执行的 一个异常

    (1)控制台Yarn(Cluster模式)打印的异常日志:

             client token: N/A
             diagnostics: Application application_1584359355781_0002 failed 2 times due to AM Container for appattempt_1584359355781_0002_000002 exited with  exitCode: -1000 due to: File does not exist: hdfs://master:8020/user/renyang/.sparkStaging/application_1584359355781_0002/__spark_conf__4670935122023681688.zip
    .Failing this attempt.. Failing the application.
             ApplicationMaster host: N/A
             ApplicationMaster RPC port: -1
             queue: root.renyang
             start time: 1584359400431
             final status: FAILED
             tracking URL: http://slave1:8088/cluster/app/application_1584359355781_0002
             user: renyang
    Exception in thread "main" org.apache.spark.SparkException: Application application_1584359355781_0002 finished with failed status
            at org.apache.spark.deploy.yarn.Client.run(Client.scala:920)
            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:498)
            at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:672)
            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)

    (2)控制台Yarn(Client)报出的异常:

    Caused by: java.lang.UnsupportedClassVersionError: com/renyang/sparkproject/datasource/DataOfHDFS$1 : Unsupported major.minor version 52.0
            at java.lang.ClassLoader.defineClass1(Native Method)
            at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
            at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
            at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
            at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
            at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
            at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
            at java.lang.Class.forName0(Native Method)
            at java.lang.Class.forName(Class.java:270)
            at org.apache.spark.serializer.JavaDeserializationStream$$anon$1.resolveClass(JavaSerializer.scala:67)
            at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
            at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
            at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
            at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
            at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
            at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915)
            at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
            at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
            at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
            at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915)
            at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
            at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
            at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
            at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915)
            at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
            at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
            at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
            at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915)
            at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
            at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
            at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
            at scala.collection.immutable.$colon$colon.readObject(List.scala:362)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:606)
            at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017)
            at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1893)
            at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
            at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
            at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
            at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915)
            at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
            at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
            at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
            at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915)
            at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
            at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
            at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
            at scala.collection.immutable.$colon$colon.readObject(List.scala:362)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:606)
            at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017)
            at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1893)
            at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
            at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
            at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
            at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915)
            at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
            at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
            at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
            at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915)
            at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
            at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
            at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
            at scala.collection.immutable.$colon$colon.readObject(List.scala:362)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:606)
            at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017)
            at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1893)
            at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
            at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
            at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
            at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915)
            at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
            at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
            at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
            at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915)
            at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
            at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
            at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
            at scala.collection.immutable.$colon$colon.readObject(List.scala:362)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:606)
            at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017)
            at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1893)
            at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
            at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
            at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
            at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915)
            at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
            at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
            at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
            at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915)
            at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
            at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
            at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
            at org.apache.spark.serializer.JavaDeserializationStream.readObject(JavaSerializer.scala:72)
            at org.apache.spark.serializer.JavaSerializerInstance.deserialize(JavaSerializer.scala:98)
            at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:64)
            at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:41)
            at org.apache.spark.scheduler.Task.run(Task.scala:88)
            at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:214)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
            at java.lang.Thread.run(Thread.java:745)

    (3)Yarn NodeManager的Log打印的异常

    2020-03-16 18:25:37,226 WARN org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor: Exit code from container container_1584350975965_0010_01_000001 is : 1
    2020-03-16 18:25:37,226 WARN org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor: Exception from container-launch with container ID: container_1584350975965_0010_01_000001 and exit code: 1
    ExitCodeException exitCode=1:
     at org.apache.hadoop.util.Shell.runCommand(Shell.java:538)
     at org.apache.hadoop.util.Shell.run(Shell.java:455)
     at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:702)
     at org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor.launchContainer(DefaultContainerExecutor.java:197)
     at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:299)
     at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:81)
     at java.util.concurrent.FutureTask.run(FutureTask.java:262)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
     at java.lang.Thread.run(Thread.java:745)

    2020-01-22 21:31:53,439 ERROR org.apache.hadoop.yarn.server.nodemanager.NodeStatusUpdaterImpl: Caught exception in status-updater
    java.io.IOException: Failed on local exception: java.io.EOFException; Host Details : local host is: "master/192.168.159.129"; destination host is: "slave1":8031;
     at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:764)
     at org.apache.hadoop.ipc.Client.call(Client.java:1415)
     at org.apache.hadoop.ipc.Client.call(Client.java:1364)
     at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:206)
     at com.sun.proxy.$Proxy28.nodeHeartbeat(Unknown Source)
     at org.apache.hadoop.yarn.server.api.impl.pb.client.ResourceTrackerPBClientImpl.nodeHeartbeat(ResourceTrackerPBClientImpl.java:80)
     at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     at java.lang.reflect.Method.invoke(Method.java:606)
     at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:187)
     at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:102)
     at com.sun.proxy.$Proxy29.nodeHeartbeat(Unknown Source)
     at org.apache.hadoop.yarn.server.nodemanager.NodeStatusUpdaterImpl$1.run(NodeStatusUpdaterImpl.java:580)
     at java.lang.Thread.run(Thread.java:745)
    Caused by: java.io.EOFException
     at java.io.DataInputStream.readInt(DataInputStream.java:392)
     at org.apache.hadoop.ipc.Client$Connection.receiveRpcResponse(Client.java:1055)
     at org.apache.hadoop.ipc.Client$Connection.run(Client.java:950)

    原因总结:以上异常均为提交Spark作业到Yarn集群上执行时报出的,最终发现问题的原因在于:我开发Spark程序使用的是JDK1.8,Spark集群引用的也是JDK1.8,但是Hadoop和Yarn集群引用的全是JDK1.7,所以,当我将Hadoop和Yarn相关的JDK全部修改为相同的JDK1.8时,Spark作业提交到Yarn执行就成功了。

     通过Yarn Client模式报的异常找到了根源

    参考链接:

     https://blog.csdn.net/superit401/article/details/72731381

  • 相关阅读:
    python中的if...else...、while、for
    linux的/etc/passwd、/etc/shadow、/etc/group和/etc/gshadow
    [国家集训队]middle
    [SCOI2007]修车
    基本图论-连通分量(强/弱联通 割点/边 边/点双)
    [NOI2008]奥运物流
    [NOI2008]假面舞会
    [NOI2008]设计路线
    [SCOI2009]windy数
    [SCOI2013]多项式的运算
  • 原文地址:https://www.cnblogs.com/renyang/p/12506105.html
Copyright © 2011-2022 走看看