Spark Launcher无法触发spark Job?

时间:2017-07-10 06:45:13

标签: apache-spark apache-spark-sql spark-launcher

我正在运行一个Spark独立集群,其中我有3个节点。一个是主人,另外两个是工人。我在所有三个位置的所有三个节点中复制了作业 / home / bizruntime / ***。jar ,当我在master中使用spark-submit提交作业时,作业正在运行。

但我的群集位于远程位置,每次都无法访问主节点终端。所以我想使用Spark Launcher来触发我的笔记本电脑的工作,这是一台Windows机器。但是当我在我的笔记本电脑中运行Eclipse中的spark启动程序时,它会启动一个驱动程序,我可以在Spark UI中看到它然后它会出错。当我在日志中检查错误时,因为没有在节点中找到jar。

我在appResource()函数中给出的路径Spark启动器是 / home / bizruntime / ***。jar 这个。但他们正在 $ Eclipse_Worksapce / home / bizruntime / ***。jar

中搜索jar

我的问题是如何在没有$ Eclipse_Worksapce的情况下给出绝对路径。

package com.biz.Remote_Start;

import java.io.IOException;

import org.apache.spark.launcher.SparkAppHandle;
import org.apache.spark.launcher.SparkLauncher;

/**
 * Hello world!
 *
 */
public class App {
  public static void main(String[] args) {

    try {
      Process handle = new SparkLauncher()
          .setAppResource("home/bizruntime/Read_from_ADL-0.0.1-SNAPSHOT.jar")
          .setMainClass("com.biz.Read_from_ADL.App")
          .setMaster("spark://192.168.1.154:7077")
          .setDeployMode("cluster")
          .launch();

      handle.waitFor();
    } catch (Exception e) {

      System.out.println(e.getMessage());
    }

  }
}

enter image description here

1 个答案:

答案 0 :(得分:0)

Incase jar文件存在于本地文件系统中,请指定文件位置:///home/bizruntime/Read_from_ADL-0.0.1-SNAPSHOT.jar