Yarn【label-based scheduling】实战总结(二)

洋哥实践大作。

1.1 Label-based scheduling实战问题汇总

1.1.1 ClassNotFoundException

问题现象,执行yarnrmadmin –refreshQueues命令时报以下错误:

java.lang.ClassNotFoundException:Class org.apache.hadoop.yarn.server.resourcemanager.scheduler.apacity.sharingpolicy.ConfigurablePartitionsExtentionPolicynot found

报该类问题一般是因为需要的类不存在或者类路径配置错误,经定位是因为类路径弄出了:

org.apache.hadoop.yarn.server.resourcemanager.scheduler.apacity.sharingpolicy.ConfigurablePartitionsExtentionPolicy

修改为:

org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.sharingpolicy.ConfigurablePartitionsExtentionPolicy

1.1.2 IllegalArgumentException:Illegal capacity

问题详细描述:

java.lang.IllegalArgumentException:Illegal capacity of 0.0 for children of queue root for label=part_B

是因为配置文件capacity-scheduler.xml缺少以下配置项:

<property>
 <name>yarn.scheduler.capacity.root.part_B.accessible-node-labels.part_B.capacity</name>
 <value>100</value>
</property>

1.1.3 删除label partition报错

先查看一下Yarn集群的label partition信息:

[root@slave2 hadoop]# yarn cluster--list-node-labels
16/02/25 12:09:21 INFO client.RMProxy:Connecting to ResourceManager at slave2/169.10.35.57:8032
Node Labels:<part_B:exclusivity=true>
[root@slave2 hadoop]#

然后通过yarn rmadmin -removeFromClusterNodeLabelspart_B 命令将label partition(part_B)删除,删除时报以下异常:

java.io.IOException:Cannot remove label=part_B, because queue=part_B is using this label. Pleaseremove label on queue before remove the label

异常提示需要先删除队列与labelpartition的对应关系,之后才能删除labelpartition。

解决方案如下:

修改配置文件capacity-scheduler.xml,将该文件中的以下配置项:

<property>
<name>yarn.scheduler.capacity.root.part_B.accessible-node-labels</name>
<value>part_B</value>
</property>

此时如果把一个Mapreduce程序提交到队列part_B运行,则会直接卡死,如下所示:

出现以上现象的原因是在capacity-scheduler.xml文件中缺少以下配置:

<property>
   <name>yarn.scheduler.capacity.root.accessible-node-labels.part_B.capacity</name>
   <value>100</value>
</property>

1.1.5 refreshQueues Exception

执行yarn rmadmin–refreshQueues命令时报以下错误:

java.io.IOException:part_B cannot be found during refresh!

导致报这个错的原因是:我将目前已经配置好了队列的capacity-scheduler.xml配置文件替换成hadoop原始默认的capacity-scheduler.xml配置文件,并执行yarn rmadmin –refreshQueues命令;之前一直不清楚为什么会报这个错误,无意间在Yarn的官网看到以下描述:

即在Yarn中,队列不能被删除。

相关阅读:

Yarn【label-based scheduling】实战总结(一)

原文发布于微信公众号 - 大数据和云计算技术(jiezhu2007)

原文发表时间:2016-07-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏pangguoming

Spring Boot集成JasperReports生成PDF文档

由于工作需要,要实现后端根据模板动态填充数据生成PDF文档,通过技术选型,使用Ireport5.6来设计模板,结合JasperReports5.6工具库来调用渲...

1.2K7
来自专栏张善友的专栏

Silverlight + Model-View-ViewModel (MVVM)

     早在2005年,John Gossman写了一篇关于Model-View-ViewModel模式的博文,这种模式被他所在的微软的项目组用来创建Expr...

3038
来自专栏C#

DotNet加密方式解析--非对称加密

    新年新气象,也希望新年可以挣大钱。不管今年年底会不会跟去年一样,满怀抱负却又壮志未酬。(不过没事,我已为各位卜上一卦,卦象显示各位都能挣钱...)...

4988
来自专栏张善友的专栏

Mix 10 上的asp.net mvc 2的相关Session

Beyond File | New Company: From Cheesy Sample to Social Platform Scott Hansel...

2627
来自专栏陈仁松博客

ASP.NET Core 'Microsoft.Win32.Registry' 错误修复

今天在发布Asp.net Core应用到Azure的时候出现错误InvalidOperationException: Cannot find compilati...

4878
来自专栏我和未来有约会

Silverlight第三方控件专题

这里我收集整理了目前网上silverlight第三方控件的专题,若果有所遗漏请告知我一下。 名称 简介 截图 telerik 商 RadC...

4075
来自专栏一个会写诗的程序员的博客

Spring Reactor 项目核心库Reactor Core

Non-Blocking Reactive Streams Foundation for the JVM both implementing a Reactiv...

2232
来自专栏张善友的专栏

Miguel de Icaza 细说 Mix 07大会上的Silverlight和DLR

Mono之父Miguel de Icaza 详细报道微软Mix 07大会上的Silverlight和DLR ,上面还谈到了Mono and Silverligh...

2737
来自专栏Golang语言社区

【Golang语言社区】GO1.9 map并发安全测试

var m sync.Map //全局 func maintest() { // 第一个 YongHuomap := make(map[st...

4858
来自专栏一个爱瞎折腾的程序猿

sqlserver使用存储过程跟踪SQL

USE [master] GO /****** Object: StoredProcedure [dbo].[sp_perfworkload_trace_s...

2190

扫码关注云+社区