2017-02-23 68 views
4

我在我的開發機器中寫了一個火花程序,它是一個mac。 hadoop的版本是2.6,spark的版本是1.6.2。 hadoop集羣有3個節點,當然都在linux機器上。 我在spark獨立模式下在idea IDE中運行spark程序,它工作正常。但現在,我將其更改爲紗,客戶端模式,它不順利工作,如下給出了消息:在紗線上產生火花,在/0.0.0.0:8032處連接到ResourceManager

... 
2017-02-23 11:01:33,725-[HL] INFO main org.apache.hadoop.yarn.client.RMProxy - Connecting to ResourceManager at /0.0.0.0:8032 
2017-02-23 11:01:34,839-[HL] INFO main org.apache.hadoop.ipc.Client - Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS) 
2017-02-23 11:01:35,842-[HL] INFO main org.apache.hadoop.ipc.Client - Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 1 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS) 
2017-02-23 11:01:36,847-[HL] INFO main org.apache.hadoop.ipc.Client - Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 2 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS) 
2017-02-23 11:01:37,854-[HL] INFO main org.apache.hadoop.ipc.Client - Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 3 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS) 
... 

我已經添加了相應的配置文件,該項目的資源目錄。如果我把它做成一個jar包,並且使用​​來運行這個程序,那就沒問題。現在,我想在IDE中以紗線客戶端模式運行該程序,就像火花獨立模式一樣。我該如何解決這個問題?謝謝。

回答

2

確保在紗線模式下運行時,Spark可使用YARN配置。將這些文件core-site.xml,hdfs-site.xmlyarn-site.xml文件添加到火花的conf目錄。
還要確保,在yarn-site.xml包含了資源管理器的地址

<property> 
    <name>yarn.resourcemanager.address</name> 
    <value>resource_manager_ip:8032</value> 
</property> 
+0

你的意思在開發機器上,我應該和運行的紗線簇具有相同的配置蒼蠅? – SparkFour

+0

您想要使用的運行紗線環境的配置。如果你想在開發機器上運行紗線客戶端,你必須在開發機器上運行紗線,並且這些配置也必須被複制以觸發(或設置'YARN_CONF_DIR')或提供遠程配置紗線環境可以通過顯影機中的火花進入。 – franklinsijo

+1

我做了以下,但沒有工作。 1.在我的開發機器上運行一個本地hadoop和spark,它們的配置不同於遠程hadoop和spark。 2.將遠程hadoop的配置複製到遠程spark的'conf'目錄,包括'yarn-site.xml,core-site.xml,hdfs-site.xml'三個文件。 3.將遠程hadoop的配置複製到本地spark的'conf'目錄,其中還包括'yarn-site.xml,core-site.xml,hdfs-site.xml'三個文件。 4.在我的項目中,我沒有添加其他配置。 – SparkFour

0

設置你的conf對象就是這樣,其對我的工作:

conf = new SparkConf().setAppName(setup.getAppname).setMaster("yarn") 
      .set("spark.hadoop.yarn.resourcemanager.hostname", "resourcemanager.fqdn") 
      .set("spark.hadoop.yarn.resourcemanager.address", "resourcemanager.fqdn:8032")` 

字體:hortonworks.com