El código Spark enviado a Yarn informó un error: java.lang.BootstrapMethodError: java.lang.NoClassDefFoundError: scala / runtime / java8

Guardar información:

ERROR Client: Application diagnostics message: User class threw exception: java.lang.BootstrapMethodError: java.lang.NoClassDefFoundError: scala/runtime/java8/JFunction2$mcIII$sp
        at com.czxy.WordCount_Spark$.main(WordCount_Spark.scala:29)
        at com.czxy.WordCount_Spark.main(WordCount_Spark.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.yarn.ApplicationMaster$$anon$2.run(ApplicationMaster.scala:685)
Caused by: java.lang.NoClassDefFoundError: scala/runtime/java8/JFunction2$mcIII$sp
        ... 7 more
Caused by: java.lang.ClassNotFoundException: scala.runtime.java8.JFunction2$mcIII$sp
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 7 more

Exception in thread "main" org.apache.spark.SparkException: Application application_1616148997795_0008 finished with failed status
        at org.apache.spark.deploy.yarn.Client.run(Client.scala:1150)
        at org.apache.spark.deploy.yarn.YarnClusterApplication.start(Client.scala:1530)
        at org.apache.spark.deploy.SparkSubmit.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:845)
        at org.apache.spark.deploy.SparkSubmit.doRunMain$1(SparkSubmit.scala:161)
        at org.apache.spark.deploy.SparkSubmit.submit(SparkSubmit.scala:184)
        at org.apache.spark.deploy.SparkSubmit.doSubmit(SparkSubmit.scala:86)
        at org.apache.spark.deploy.SparkSubmit$$anon$2.doSubmit(SparkSubmit.scala:920)
        at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:929)
        at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)

A través del informe de error:
NoClassDefFoundError: No se pudo encontrar la clase y el método (def) error

una examinacion:

  1. Verifique la versión de scala en el cluster Spark
    ll $SPARK_HOME/jars/scala*
    Inserte la descripción de la imagen aquí
    2. Verifique la versión de scala del entorno
    nativo Versión nativa de scala: 2.12.13

Concluido: la versión de scala en el clúster de Spark no coincide con la versión nativa de scala, lo que genera un error

resolver

  1. Vaya al sitio web oficial de Scala para descargar e instalar la versión Scala2.11.12
    https://www.scala-lang.org/

  2. Ingrese a IDEA para volver a seleccionar el Scala2.11.12 instalado

  • Haga clic con el botón derecho en el nombre del proyecto para encontrar la configuración del módulo abierto
    Inserte la descripción de la imagen aquí

  • Haga clic en Configuración global a la izquierda

  • Haga clic en + para seleccionar la versión SDK de Scala 2.11.12
    Inserte la descripción de la imagen aquí

  1. Elimine el directorio de destino en el proyecto, vuelva a compilar, cargue el paquete jar en el clúster y ejecútelo

Supongo que te gusta

Origin blog.csdn.net/zh2475855601/article/details/115014282
Recomendado
Clasificación