简体   繁体   English

错误yarn.ApplicationMaster:用户类引发异常:java.lang.NoClassDefFoundError:scala / Function0 $ class

[英]ERROR yarn.ApplicationMaster: User class threw exception: java.lang.NoClassDefFoundError: scala/Function0$class

I am trying to submit a spark job to a hadoop-yarn cluster via Apache Livy . 我正在尝试通过Apache Livy将Spark作业提交给hadoop-yarn集群。 The cluster is setup with steps specified here . 使用此处指定的步骤设置集群。

Java code is being run via IntelliJ on windows local machine. Java代码正在Windows本地计算机上通过IntelliJ运行。 The spark and hadoop cluster is on linux servers. spark和hadoop群集位于linux服务器上。 Other applications(w/o Livy) run perfectly fine with the operations on hdfs and spark computation. 其他应用程序(不带Livy)通过hdfs上的操作和spark计算可以完美运行。

I am trying to run the The error log I see in stderr of the application at the cluster : 我正在尝试在群集的应用程序的stderr中看到错误日志:

INFO yarn.ApplicationMaster: Waiting for spark context initialization...
INFO driver.RSCDriver: Connecting to: master:10000
INFO driver.RSCDriver: Starting RPC server...
INFO rpc.RpcServer: Connected to the port 10001
WARN rsc.RSCConf: Your hostname, master, resolves to a loopback address, but we couldn't find any external IP address!
WARN rsc.RSCConf: Set livy.rsc.rpc.server.address if you need to bind to another address.
INFO driver.RSCDriver: Received job request 37e4684d-9de2-4a4b-9506-0b10a3e78a51
INFO driver.RSCDriver: SparkContext not yet up, queueing job request.
ERROR yarn.ApplicationMaster: User class threw exception: java.lang.NoClassDefFoundError: scala/Function0$class
java.lang.NoClassDefFoundError: scala/Function0$class
    at org.apache.livy.shaded.json4s.ThreadLocal.<init>(Formats.scala:311)
    at org.apache.livy.shaded.json4s.DefaultFormats$class.$init$(Formats.scala:318)
    at org.apache.livy.shaded.json4s.DefaultFormats$.<init>(Formats.scala:296)
    at org.apache.livy.shaded.json4s.DefaultFormats$.<clinit>(Formats.scala)
    at org.apache.livy.repl.Session.<init>(Session.scala:66)
    at org.apache.livy.repl.ReplDriver.initializeSparkEntries(ReplDriver.scala:41)
    at org.apache.livy.rsc.driver.RSCDriver.run(RSCDriver.java:333)
    at org.apache.livy.rsc.driver.RSCDriverBootstrapper.main(RSCDriverBootstrapper.java:93)
    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.yarn.ApplicationMaster$$anon$2.run(ApplicationMaster.scala:684)
Caused by: java.lang.ClassNotFoundException: scala.Function0$class
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 13 more
INFO yarn.ApplicationMaster: Final app status: FAILED, exitCode: 13, (reason: User class threw exception: java.lang.NoClassDefFoundError: scala/Function0$class
    at org.apache.livy.shaded.json4s.ThreadLocal.<init>(Formats.scala:311)
    at org.apache.livy.shaded.json4s.DefaultFormats$class.$init$(Formats.scala:318)
    at org.apache.livy.shaded.json4s.DefaultFormats$.<init>(Formats.scala:296)
    at org.apache.livy.shaded.json4s.DefaultFormats$.<clinit>(Formats.scala)
    at org.apache.livy.repl.Session.<init>(Session.scala:66)
    at org.apache.livy.repl.ReplDriver.initializeSparkEntries(ReplDriver.scala:41)
    at org.apache.livy.rsc.driver.RSCDriver.run(RSCDriver.java:333)
    at org.apache.livy.rsc.driver.RSCDriverBootstrapper.main(RSCDriverBootstrapper.java:93)
    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.yarn.ApplicationMaster$$anon$2.run(ApplicationMaster.scala:684)
Caused by: java.lang.ClassNotFoundException: scala.Function0$class
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 13 more
)

The java code for submitting spark job : 提交Spark作业的java代码:

URI uri = new URI("http", "username:password" , "host" , 8998, "", null, null);

Map<String,String> config = new HashMap<>();
config.put("spark.app.name","livy-poc");
config.put("livy.client.http.connection.timeout", "180s");
config.put("spark.driver.memory", "1g");

LivyClient client = new LivyClientBuilder(true).setURI(uri).setAll(config).build();

try {
    client.addJar(new URI("/path_to_jars/spark-core_2.12-2.4.2.jar")).get();
    client.addJar(new URI("/path_to_jars/scala-library-2.12.8.jar")).get();
    client.addJar(new URI("/path_to_jars/ThisJavaCode.jar")).get();

    System.out.printf("Running PiJob with %d samples...\n", 2);
    double pi = client.submit(new PiJob(2)).get();
    System.out.println("Pi is roughly: " + pi);
} catch (InterruptedException | ExecutionException e) {
    e.printStackTrace();
} finally {
    client.stop(true);
}
}

The livy.conf file has : livy.conf文件具有:

# What spark master Livy sessions should use.
livy.spark.master = yarn
# What spark deploy mode Livy sessions should use.
livy.spark.deployMode = cluster

Can some one point please out if i'm missing anything? 如果我错过了什么,可以说出一点吗?

Livy appears to only support Spark releases built against Scala 2.11.x. Livy似乎仅支持针对Scala 2.11.x构建的Spark版本。 See https://issues.apache.org/jira/browse/LIVY-423 . 参见https://issues.apache.org/jira/browse/LIVY-423

Change your client.addJar(... lines to include a Scala 2.11 release and a Spark distro built against 2.11. 更改您的client.addJar(...行以包括Scala 2.11版本和针对2.11构建的Spark发行版。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 获取 Akka stream 代码错误“主”线程 java.lang.NoClassDefFoundError: scala/Function1$class - Error getting Akka stream code Exception in thread “main” java.lang.NoClassDefFoundError: scala/Function1$class neo4j:简单的示例抛出java.lang.NoClassDefFoundError:scala / Function0 - neo4j: simple exampel throws java.lang.NoClassDefFoundError: scala/Function0 java.lang.NoClassDefFoundError:用于gradle JUNIT测试的scala / Product $ class - java.lang.NoClassDefFoundError: scala/Product$class for gradle JUNIT test Servlet 异常:方法抛出“java.lang.NoClassDefFoundError” - Servlet exception : Method threw 'java.lang.NoClassDefFoundError' 线程“ main”中的异常java.lang.NoclassDefFoundError:cal / class - exception in thread “main” java.lang.NoclassDefFoundError: cal/class 包中的类 - 线程“main”中的异常 java.lang.NoClassDefFoundError - Class in a package - Exception in thread "main" java.lang.NoClassDefFoundError java.lang.NoClassDefFoundError 找不到类 - java.lang.NoClassDefFoundError Cannot Find CLASS java.lang.NoClassDefFoundError-除了该类存在 - java.lang.NoClassDefFoundError - except the class exists java.lang.NoClassDefFoundError:无法初始化类 - java.lang.NoClassDefFoundError: Could not initialize class 嵌套异常错误 java.lang.NoClassDefFoundError - nested exception error java.lang.NoClassDefFoundError
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM