2017-02-23 105 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