近日新写完的spark任务放到yarn上面执行时,在yarn的slave节点中一直看到报错日志:连接不到0.0.0.0:8030 。

 The logs are as below:
2014-08-11 20:10:59,795 INFO [main] org.apache.hadoop.yarn.client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8030
2014-08-11 20:11:01,838 INFO [main] org.apache.hadoop.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)

这就很奇怪了,因为slave执行任务时应该链接的是master节点的8030端口,正常情况下应该为 masterIP:8030.

按照常规思路,首先检查配置文件:yarn-site.xml 。查看里面配置的yarn.resourcemanager.scheduler.address 是否为master。

<property>
<name>yarn.resourcemanager.hostname</name>
<value>master1</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master1:8030</value>
</property>

这一项排查过后,重启cluser,故障依旧。

继续排查,查看环境变量,看是否slave启动时是否没有加载yarn-site.xml。env|grep YARN 直接查看所有YARN的环境变量,其中可以看到YARN_CONF_DIR = HADOOP_CONF_DIR ,并且指向了正确的目录路径。

那么就很奇怪了,继续排查。如果环境方面都没有问题,写一下 hard coding.在代码里面直接写死:

 Configuration conf = new Configuration();
conf.set("fs.default.name",hdfsUri);
conf.set("fs.hdfs.impl", "org.apache.hadoop.hdfs.DistributedFileSystem");
conf.set("mapreduce.framework.name", "yarn");
conf.set("fs.AbstractFileSystem.hdfs.impl", "org.apache.hadoop.fs.Hdfs");
conf.set("yarn.resourcemanager.address", yarnip+":"+8030); //设置RM 访问位置

重新执行job,仍然报错。这下就有点晕菜了,冷静一下,目前已经排查的有:

1、配置文件:master、slave的yarn-site.xml 都正常无问题。

2、环境变量:master、slave的环境变量都正常无问题。

3、hard-coding,也无效果。

难道是框架本省的问题?

在spark根目录检索0.0.0.0,发现在spark依赖的一个包里面还真有一个匹配的:

spark-core-assembly-0.4-SNAPSHOT.jar

打开这个jar包,里面有一个yarn-default.xml 。这里面配置的是0.0.0.0. 按道理来说配置文件优先级应该是大于jar的。

改了试一下!

把0.0.0.0改成master的IP,重新打包上传,执行job。

Oh my god!

成功了!

看看时间,为了这个问题已经搞了大半个夜了。算了,先睡觉。具体问题留待周一检查。

但初步认为:应该是yarn的client再执行job时,会取一个masterIP 值,如果取不到,则默认取yarn-defalut中的值。所以关键就是找到从哪里取值。这个问题看看源码应该不是大问题。

OK,睡觉去!

spark 在yarn执行job时一直抱0.0.0.0:8030错误的更多相关文章

  1. Spark以yarn方式运行时抛出异常

    Spark以yarn方式运行时抛出异常: cluster.YarnClientSchedulerBackend: Yarn application has already exited with st ...

  2. 【C语言学习笔记】C语言函数执行成功时,返回1和返回0,究竟哪个好?

    基本上,没有人会将大段的C语言代码全部塞入 main() 函数,更好的做法是按照复用率高,耦合性低的原则,尽可能的将代码拆分不同的功能模块,并封装成函数.C语言代码的组合千变万化,因此函数的功能可能会 ...

  3. 【原创】大叔经验分享(19)spark on yarn提交任务之后执行进度总是10%

    spark 2.1.1 系统中希望监控spark on yarn任务的执行进度,但是监控过程发现提交任务之后执行进度总是10%,直到执行成功或者失败,进度会突然变为100%,很神奇, 下面看spark ...

  4. c# 执行 CreateHandle() 时无法调用值 Dispose()

    在多线程C#开发中,遇到错误 执行 CreateHandle() 时无法调用值 Dispose().,这个错误是在关闭窗体的时候出来的. 原因是因为窗体还存在CreateHandle()事件,所以还不 ...

  5. spark on yarn,client模式时,执行spark-submit命令后命令行日志和YARN AM日志

    [root@linux-node1 bin]# ./spark-submit \> --class com.kou.List2Hive \> --master yarn \> --d ...

  6. spark on yarn,cluster模式时,执行spark-submit命令后命令行日志和YARN AM日志

    [root@linux-node1 bin]# ./spark-submit \> --class com.kou.List2Hive \> --master yarn \> --d ...

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

    Exception 1:当我们将任务提交给Spark Yarn集群时,大多会出现以下异常,如下: 14/08/09 11:45:32 WARN component.AbstractLifeCycle: ...

  8. Spark on Yarn运行时加载的jar包

    spark on yarn运行时会加载的jar包有如下: spark-submit中指定的--jars $SPARK_HOME/jars下的jar包 yarn提供的jar包 spark-submit通 ...

  9. 大数据学习day34---spark14------1 redis的事务(pipeline)测试 ,2. 利用redis的pipeline实现数据统计的exactlyonce ,3 SparkStreaming中数据写入Hbase实现ExactlyOnce, 4.Spark StandAlone的执行模式,5 spark on yarn

    1 redis的事务(pipeline)测试 Redis本身对数据进行操作,单条命令是原子性的,但事务不保证原子性,且没有回滚.事务中任何命令执行失败,其余的命令仍会被执行,将Redis的多个操作放到 ...

随机推荐

  1. 【MVC5】First AngularJS

    ※本文参照<ASP.NET MVC 5高级编程(第5版)> 1.创建Web工程 1-1.选择ASP.NET Web Application→Web API 工程名为[atTheMovie] ...

  2. 标准库Allocator的简易实现(二)

    自己实现Allocator并不难,其实只需要改变allocate和deallocate,来实现自己的内存分配策略.   下面是一个std::allocator的模拟实现 #ifndef ALLOCAT ...

  3. C# 接口的隐式与显示实现说明

    以前在用到接口时,从来没注意到接口分为隐式实现与显示实现.昨天在浏览博客时看到相关内容,现在根据自己的理解记录一下,方便日后碰到的时候温习温习. 通俗的来讲,"显示接口实现"就是使 ...

  4. 如何去掉MapReduce输出的默认分隔符

    我们在用MapReduce做数据处理的时候,经常会遇到将只需要输出键或者值的情况,如context.write(new Text(record), new Text("")),这样 ...

  5. Android新浪微博client(一)——主框架搭建

    原文出自:方杰| http://fangjie.sinaapp.com/?p=62 转载请注明出处 该项目代码已经放到github:https://github.com/JayFang1993/Sin ...

  6. stage3D基础五-----Working with 3D cameras(转)

    原文地址:http://www.adobe.com/cn/devnet/flashplayer/articles/3d-cameras.html 原文是英文的,这里就不贴了,内容主要介绍直接使用相机坐 ...

  7. Unity3d多人在线教程

    [转载]Unity3d多人在线教程 (2013-02-25 16:02:49) 转载▼ 标签: 转载   原文地址:Unity3d多人在线教程作者:lsy0031 Unity 多个玩家开发教程 Uni ...

  8. Swift迎来了1.0 GM 版(2014.09.09)

    2014年6月2日,swift开发团队将swift语言公之于众.而2014年9月9日迎来了swift的第二个里程碑,swift1.0版本号(GM),这意味着无论你的应用有一部分功能是用swift写的, ...

  9. Log4Net.Config配置信息《转》

    看了log4net的简单使用之一_log4net介绍 大家对log4net组件应该有了大概的了解,下面再近一步介绍其在项目中如何应用. 1.Logger 所有的记录器都必须实现 ILog 接口,该接口 ...

  10. ActiveMQ与xml rpc

    最近项目在做平台间的消息传递,也让我对平台间消息的传递进行了深一步的探讨.先叙述一下概况 公司上一个版本用的是winform做的监控软件,主要做设备的通信和控制,基本的连接如下