小编Tom*_*lek的帖子

Spark Launcher无限地等待工作完成

我试图通过Java代码将带有Spark作业的JAR提交到YARN集群中.我使用SparkLauncher提交SparkPi示例:

Process spark = new SparkLauncher()
    .setAppResource("C:\\spark-1.4.1-bin-hadoop2.6\\lib\\spark-examples-1.4.1-hadoop2.6.0.jar")
    .setMainClass("org.apache.spark.examples.SparkPi")
    .setMaster("yarn-cluster")
    .launch();
System.out.println("Waiting for finish...");
int exitCode = spark.waitFor();
System.out.println("Finished! Exit code:" + exitCode);
Run Code Online (Sandbox Code Playgroud)

有两个问题:

  1. 在"纱线群集"模式下提交时,应用程序成功提交给YARN并成功执行(在YARN UI中可见,报告为SUCCESS,输出中打印了pi).但是,提交应用程序永远不会被通知处理完成 - 打印后无限挂起"等待完成..."容器的日志可以在这里找到
  2. 在"yarn-client"模式下提交时,应用程序不会出现在YARN UI中,并且提交应用程序挂起在"等待完成..."当挂起代码被终止时,应用程序将显示在YARN UI中并且报告为成功,但输出为空(pi不打印出来).容器的日志可以在这里找到

我尝试使用Oracle Java 7和8执行提交应用程序.

java hadoop-yarn apache-spark spark-launcher

16
推荐指数
2
解决办法
2万
查看次数

在YARN支持上使用Spark构建Oozie 4.2.0

我想要实现的是构建和安装Oozie 4.2.0,这将使我能够将Spark作业提交给YARN集群.

我通过执行建造发行:oozie-4.2.0/bin/mkdistro.sh -Puber -Phadoop-2 -DskipTests.那个创建oozie-4.2.0-distro.tar.gz包和内部我能找到oozie-4.2.0-sharelib.tar.gz.但是,许多教程在线声明我应该oozie-4.2.0-sharelib-yarn.tar.gz使用YARN.这样的文件不包含在发行包中.如何使构建过程输出YARN版本的sharelibs?

我试图继续使用非YARN版本,但是在提交示例Spark作业(并将job.properties中的HDFS和YARN地址与master属性调整local[*]yarn)时,我收到了一个错误:

错误:无法加载YARN类.此副本的Spark可能尚未使用YARN支持进行编译.

hadoop oozie hadoop-yarn apache-spark

6
推荐指数
1
解决办法
396
查看次数

标签 统计

apache-spark ×2

hadoop-yarn ×2

hadoop ×1

java ×1

oozie ×1

spark-launcher ×1