spark on yarn提交任务时一直显示ACCEPTED

spark on yarn提交任务时一直显示ACCEPTED,过一个小时后就会出现任务失败,但在提交时shell终端显示的日志并没有报错,logs文件夹中也没有日志产生。注:spark on yarn是不需要启动spark集群的,只需要在提交任务的机器配置spark就可以了,因为任务是由hadoop来执行的,spark只负责任务的提交。

任务提交命令为

bin/spark-submit --class org.apache.spark.examples.JavaWordCount\
    --master yarn-client \
    --num-executors 25 \
    --executor-memory 1g \
    --executor-cores 1 \
    lib/spark-examples-1.0.1-hadoop2.2.0.jar \
    hdfs://192.168.1.11:9000/test

spark-env.sh配置如下:

export SPARK_JAR=hdfs://192.168.1.11:9000/test1/spark-assembly-1.0.1-hadoop2.2.0.jar
export SPARK_YARN_APP_JAR=hdfs://192.168.1.11:9000/test1/spark-examples-1.0.1-hadoop2.2.0.jar
export HADOOP_CONF_DIR=/hadoop/etc/hadoop
export SPARK_EXECUTOR_INSTANCES=1000
export SPARK_EXECUTOR_CORES=1
export SPARK_EXECUTOR_MEMORY=10000M
export SPARK_DRIVER_MEMORY=20000M
export SPARK_YARN_APP_NAME=spark

查看日志发现报错:

14/09/04 17:10:44 INFO RMProxy: Connecting to ResourceManager at /0.0.0.0:8032
14/09/04 17:10:45 INFO 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=1 SECONDS)
14/09/04 17:10:46 INFO 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=1 SECONDS)
14/09/04 17:10:47 INFO 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=1 SECONDS)

这个问题很明显没有找到resourcemanager,我们可以通过以下任何一种方法来解决:

1 在spark-env.sh中添加

export SPARK_YARN_USER_ENV="CLASSPATH=hadoop-2.3.0/etc/hadoop"(修改成自己的hadoop路径)

2 自己编写JavaWordCount程序,在程序中配置集群信息

        SparkConf sparkConf = new SparkConf().setAppName("JavaWordCount");
        sparkConf.set("mapreduce.framework.name", "yarn");
        sparkConf.set("mapreduce.jobtracker.address", "192.168.1.10:9001");
        sparkConf.set("yarn.resourcemanager.hostname", "192.168.1.10");
        sparkConf.set("yarn.resourcemanager.admin.address", "192.168.1.10:8033");
        sparkConf.set("yarn.resourcemanager.address", "192.168.1.10:8032");
        sparkConf.set("yarn.resourcemanager.resource-tracker.address", "192.168.1.10:8031");
        sparkConf.set("yarn.resourcemanager.scheduler.address", "192.168.1.10:8030");
        sparkConf.set("yarn.resourcemanager.hostname", "192.168.1.10");

然后打包,在提交spark任务时使用自己打包的jar包即可。

时间: 2024-08-04 04:38:26

spark on yarn提交任务时一直显示ACCEPTED的相关文章

spark 在yarn执行job时一直抱0.0.0.0:8030错误

近日新写完的spark任务放到yarn上面执行时,在yarn的slave节点中一直看到报错日志:连接不到0.0.0.0:8030 . 1 The logs are as below: 2 2014-08-11 20:10:59,795 INFO [main] org.apache.hadoop.yarn.client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8030 3 2014-08-11 20:11:01,838 INFO [ma

spark on yarn提交后vcore数不对

一.现象描述 比如提交命令: ./bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode cluster --driver-memory 4g --executor-memory 2g \ --num-executors 6 --executor-cores 3 --queue thequeue lib/spark-examples*.jar 10理论上:vcores使用数 =

Spark之Yarn提交模式

一.Client模式 提交命令: ./spark-submit --master yarn --class org.apache.examples.SparkPi ../lib/spark-examples-1.6.0-hadoop2.7.3.jar 1000 ./spark-submit --master yarn-client --class org.apache.examples.SparkPi ../lib/spark-examples-1.6.0-hadoop2.7.3.jar 100

Spark基于Yarn提交任务两种方式

yarn-client提交任务方式 客户端提交一个Application,在客户端启动一个Driver进程 Driver进程会向RS(ResourceManager)发送请求,启动AM(ApplicationMaster)的资源 RS收到请求,随机选择一台NM(NodeManager)启动AM.这里的NM相当于Standalone中的Worker节点 AM启动后,会向RS请求一批container资源,用于启动Executor RS会找到一批NM返回给AM,用于启动Executor AM会向NM

Spark程序提交到Yarn集群时所遇异常

Exception 1:当我们将任务提交给Spark Yarn集群时,大多会出现以下异常,如下: 14/08/09 11:45:32 WARN component.AbstractLifeCycle: FAILED [email protected]:4040: java.net.BindException: Address already in use java.net.BindException: Address already in use at sun.nio.ch.Net.bind0(

Spark on Yarn:任务提交参数配置

当在YARN上运行Spark作业,每个Spark executor作为一个YARN容器运行.Spark可以使得多个Tasks在同一个容器里面运行. 以下参数配置为例子: spark-submit --master yarn-cluster   #使用集群调度模式(一般使用这个参数) --num-executors  132      # executor 数量 --executor-cores  2        #设置单个executor能并发执行task数,根据job设置,推荐值2-16 (

android 加载数据或提交数据时显示转圈的提示页面

提前声明一下,本博客全是自己的理解,如果内容中有理解错误的地方,欢迎指正.另外,博客内容有参考其他博客,本博客只用来学习. 当我们进入到一个页面时,通常先会出现一个转圈的dialog,这是因为这个页面需要加载数据,为了防止数据加载完成前空白的页面,通常会先显示转圈的dialog,直到数据加载完成,圈消失.那么,这个转圈的dialog是怎么实现的呢? 首先,先写 显示转圈的layout:progress_hud.xml <span style="font-size:14px;"&g

Spark(十二) -- Spark On Yarn &amp; Spark as a Service &amp; Spark On Tachyon

Spark On Yarn: 从0.6.0版本其,就可以在在Yarn上运行Spark 通过Yarn进行统一的资源管理和调度 进而可以实现不止Spark,多种处理框架并存工作的场景 部署Spark On Yarn的方式其实和Standalone是差不多的,区别就是需要在spark-env.sh中添加一些yarn的环境配置,在提交作业的时候会根据这些配置加载yarn的信息,然后将作业提交到yarn上进行管理 首先请确保已经部署了Yarn,相关操作请参考: hadoop2.2.0集群安装和配置 部署完

Apache Spark源码走读之8 -- Spark on Yarn

欢迎转载,转载请注明出处,徽沪一郎. 概要 Hadoop2中的Yarn是一个分布式计算资源的管理平台,由于其有极好的模型抽象,非常有可能成为分布式计算资源管理的事实标准.其主要职责将是分布式计算集群的管理,集群中计算资源的管理与分配. Yarn为应用程序开发提供了比较好的实现标准,Spark支持Yarn部署,本文将就Spark如何实现在Yarn平台上的部署作比较详尽的分析. Spark Standalone部署模式回顾 上图是Spark Standalone Cluster中计算模块的简要示意,