2017-07-10 36 views
1

我正在运行一个火花独立群集,其中有3个节点。一个是主人,另外两个是工人。我在全部三个位置的/home/bizruntime/***.jar的所有三个节点中复制了作业,并且当我使用主服务器中的spark-submit提交作业时,作业正在运行。Spark Launcher无法触发Spark Job?

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

我在appResource()函数中给出的路径Spark启动器是/home/bizruntime/***.jar这个。但他们在$ Eclipse_Worksapce /家庭/ bizruntime搜索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

+0

出来的任何进一步的探索,我在你的代码中看到一个错字。 ho ** M ** e或ho ** N ** e? – Trompa

+0

它的家@Trompa –

+0

我被告知......你在截图上看到它的磨刀石,对吧? – Trompa

回答

0

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