测试spark on yarn
spark版本:spark-0.9.0-incubating-bin-hadoop2
WordCount.scala 代码:
import org.apache.spark._
import SparkContext._
object WordCount {
def main(args: Array[String]) {
if (args.length != 3 ){
println("usage is org.test.WordCount <master> <input> <output>")
return
}
val sc = new SparkContext(args(0), "WordCount", System.getenv("SPARK_HOME"), Seq(System.getenv("SPARK_TEST_JAR")))
val textFile = sc.textFile(args(1))
val result = textFile.flatMap(line => line.split("\\s+")).map(word => (word, 1)).reduceByKey(_ + _)
result.saveAsTextFile(args(2))
}
}
使用这个程序在spark on yarn 测试的时候,报了下面的异常:
14/03/05 15:57:48 DEBUG ipc.Client: The ping interval is 60000 ms.
14/03/05 15:57:48 DEBUG ipc.Client: Connecting to 0.0.0.0/0.0.0.0:8030
14/03/05 15:57:49 INFO ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8030. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)
14/03/05 15:57:50 INFO ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8030. Already tried 1 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)
14/03/05 15:57:51 INFO ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8030. Already tried 2 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)
14/03/05 15:57:52 INFO ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8030. Already tried 3 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)
14/03/05 15:57:53 INFO ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8030. Already tried 4 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)
14/03/05 15:57:54 INFO ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8030. Already tried 5 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)
14/03/05 15:57:55 INFO ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8030. Already tried 6 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)
14/03/05 15:57:56 INFO ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8030. Already tried 7 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)
14/03/05 15:57:57 INFO ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8030. Already tried 8 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)
14/03/05 15:57:58 INFO ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8030. Already tried 9 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)
14/03/05 15:57:58 DEBUG ipc.Client: closing ipc connection to 0.0.0.0/0.0.0.0:8030: 拒绝连接
java.net.ConnectException: 拒绝连接
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:735)
at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206)
at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:529)
at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:493)
at org.apache.hadoop.ipc.Client$Connection.setupConnection(Client.java:547)
at org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:642)
at org.apache.hadoop.ipc.Client$Connection.access$2600(Client.java:314)
at org.apache.hadoop.ipc.Client.getConnection(Client.java:1399)
at org.apache.hadoop.ipc.Client.call(Client.java:1318)
at org.apache.hadoop.ipc.Client.call(Client.java:1300)
at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:206)
at com.sun.proxy.$Proxy11.registerApplicationMaster(Unknown Source)
at org.apache.hadoop.yarn.api.impl.pb.client.ApplicationMasterProtocolPBClientImpl.registerApplicationMaster(ApplicationMasterProtocolPBClientImpl.java:106)
at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:186)
at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:102)
at com.sun.proxy.$Proxy12.registerApplicationMaster(Unknown Source)
at org.apache.hadoop.yarn.client.api.impl.AMRMClientImpl.registerApplicationMaster(AMRMClientImpl.java:197)
at org.apache.spark.deploy.yarn.ApplicationMaster.registerApplicationMaster(ApplicationMaster.scala:138)
at org.apache.spark.deploy.yarn.ApplicationMaster.run(ApplicationMaster.scala:102)
at org.apache.spark.deploy.yarn.ApplicationMaster$.main(ApplicationMaster.scala:429)
at org.apache.spark.deploy.yarn.ApplicationMaster.main(ApplicationMaster.scala)
14/03/05 15:57:58 DEBUG ipc.Client: IPC Client (1553281132) connection to 0.0.0.0/0.0.0.0:8030 from hadoop: closed
根据异常错误,发现是无法连接上8030这个端口,这个端口是RM的调度端口,在yarn-site.xml中也配置了:
<property>
<name>yarn.resourcemanager.scheduler.address.rm2</name>
<value>master2:8030</value>
</property>
可是却死活连不上,对应这个问题的解决方案是:
在yarn-site.xml中增加如下配置,明确指定RM的hostname:
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master1</value>
</property>
这样就能个连接上,具体原因得去阅读spark的源码了。
分享到:
相关推荐
Spark on Yarn是一种将Spark应用程序部署在Hadoop YARN资源管理器上的方法,它允许Spark充分利用YARN的资源管理和调度功能。在这个实验中,我们将详细探讨如何在Yarn模式下安装和部署Spark集群。 首先,我们需要...
Spark on Yarn 模式部署是一种常见的 Spark 应用场景,本文将详细介绍 Spark on Yarn 模式部署的步骤和配置过程。 标题解释 Spark on Yarn 模式部署是指将 Spark 应用程序部署在 Yarn 集群上,使得 Spark 能够使用 ...
### 一、Spark on Yarn 的基本概念 **Spark on Yarn** 是指Apache Spark集群管理器与Apache Hadoop YARN资源管理器之间的集成模式。这种模式下,YARN作为资源调度器负责分配资源,而Spark则负责任务的具体执行。...
配置主机 hosts 文件是 Spark on YARN 集群搭建的第一步骤。hosts 文件用于映射主机名和 IP 地址,配置正确的 hosts 文件可以确保集群节点之间的通信正常。 知识点3:免密码登录 免密码登录是 Spark on YARN 集群...
此时,Yarn(Yet Another Resource Negotiator)出现了,它是Hadoop 2.0中引入的新资源管理框架,进一步优化了资源管理和任务调度,而Spark on Yarn模式则充分利用了Yarn的资源调度能力和Spark内存计算的优势,显著...
在大数据处理领域,Hadoop MapReduce 和 Apache Spark 是两种重要的计算框架,它们都在YARN(Yet Another Resource Negotiator)上运行以实现资源管理和任务调度。本文将深入探讨这两个框架以及YARN的相关概念。 ...
Spark on Yan集群搭建的详细过程,减少集群搭建的时间
Spark 是一个大数据处理的开源框架,它可以在多种集群管理器上运行,如 YARN、Mesos 和 Standalone。Spark on YARN 是 Spark 在 YARN 集群管理器上的实现。了解 Spark 的初始化源码对于深入理解 Spark 的工作原理和...
基于docker搭建spark on yarn及可视化桌面.doc
总结来说,Spark on YARN的Executor内存管理是一个复杂的过程,需要综合考虑Executor的内存需求、YARN的资源配置以及Spark自身的内存策略。正确配置和优化这些参数对于确保Spark应用的稳定运行至关重要。
Spark on YARN 集群搭建是一个复杂的过程,涉及到多台服务器的配置和软件的安装。以下是详细步骤和相关知识点: 1. **主机配置与网络通信** - `/etc/hosts` 文件配置至关重要,它用于解析主机名到IP地址的映射。...
SPARK2_ON_YARN-2.4.0 jar包下载
#### 一、为什么选择Spark_on_Yarn 在大数据处理领域,随着数据量的急剧增长和技术的发展,传统的数据处理框架如Hadoop MapReduce面临着一系列挑战。淘宝作为中国最大的电商平台之一,在处理海量用户行为数据时遇到...
基于SparkonYarn的淘宝数据挖掘平台
Spark On Yarn 是一个在 Apache Hadoop YARN(Yet Another Resource Negotiator)资源管理器上运行 Apache Spark 应用程序的框架。这种模式允许 Spark 利用 Hadoop 的集群资源管理和调度能力,使得 Spark 能够更好地...
Java提交Spark任务到YARN平台是一项常见的大数据处理操作,它结合了Java的编程能力和Spark的高性能计算框架,以及Hadoop的资源管理系统YARN。在这个过程中,开发者需要理解多个关键概念和配置步骤,以便有效地调度和...
三种方式的spark on kubernetes对比,第一种:spark原生支持Kubernetes资源调度;第二种:google集成的Kubernetes的spark插件sparkoperator;第三种:standalone方式运行spark集群
本来不打算写的了,但是真的是闲来无事,整天看美剧也没啥意思。这一章打算讲一下Spark onyarn的实现,1.0.0里面...在第一章《spark-submit提交作业过程》的时候,我们讲过Sparkonyarn的在cluster模式下它的main clas
Spark和Yarn是两种常用的大数据处理工具,Spark是一种基于内存的数据处理引擎,而Yarn是Hadoop的资源管理器。本指南将指导您如何手动安装Spark和Yarn,并将它们集成在一起构建一个大数据处理系统。 一、Spark的安装...
Oozie Spark on YARN requirement failed 所需jar包:http://blog.csdn.net/fansy1990/article/details/53856608