我正在我的开发机器上写一个火花程序,这是一个mac。 hadoop的版本是2.6,spark的版本是1.6.2。 hadoop集群有3个节点,当然都在linux机器上。 我在spark独立模式的IDE中运行spark程序,它运行成功。但现在,我将其更改为纱线客户端模式,它没有成功运行,并给出如下消息:
...
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包并使用spark-submit
来运行这个程序,它就没问题了。现在,我想在IDE中运行这个程序作为yarn-client模式,就像spark独立模式一样。我该如何解决这个问题?感谢。
答案 0 :(得分:4)
确保在纱线模式下运行时,可以使用YARN配置供Spark使用。将这些文件core-site.xml
,hdfs-site.xml
和yarn-site.xml
文件添加到spark的conf
目录中。
还要确保yarn-site.xml
包含资源管理器的地址
<property>
<name>yarn.resourcemanager.address</name>
<value>resource_manager_ip:8032</value>
</property>
答案 1 :(得分: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")`