2017-07-10 32 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