【BUG】org.apache.hadoop.yarn.exceptions.YarnRuntimeException: RM uses DefaultResourceCalculator...

在部署yarn时遇到ResourceManager启动不起来,然后查找日志文件提示找不到resource-types.xml

Error starting ResourceManager
org.apache.hadoop.yarn.exceptions.YarnRuntimeException: RM uses DefaultResourceCalculator which used only memory as resource-type but invalid resource-types specified

Error starting ResourceManager
org.apache.hadoop.yarn.exceptions.YarnRuntimeException: RM uses DefaultResourceCalculator which used only memory as resource-type but invalid resource-types specified
{memory-mb=name: memory-mb, units: Mi, type: COUNTABLE, value: 0, minimum allocation: 1024, maximum allocation: 8192, vcores=name: vcores, units: , type: COUNTABLE, va
lue: 0, minimum allocation: 1, maximum allocation: 4, network=name: network, units: M, type: COUNTABLE, value: 0, minimum allocation: 0, maximum allocation: 9223372036
854775807}. Use DominantResourceCalculator instead to make effective use of these resource-types

官方文档:https://hadoop.apache.org/docs/r3.0.0/hadoop-yarn/hadoop-yarn-site/ResourceModel.html

原因:
  ARN 支持可扩展的资源模型。默认情况下,YARN会跟踪所有节点,应用程序和队列的CPU和内存,但资源定义可以扩展为包含任意 “countable” 资源。可数资源是在容器运行时消耗的资源,但之后会释放,CPU 和内存都是可数资源。
  此外,YARN 还支持使用 “resource profiles”,允许用户通过单个配置文件指定多个资源请求,例如,“large” 可能意味着 8 个虚拟内核和 16GB RAM。
  默认情况,提交 MapReduce 程序运行至 YARN 集群时,日志信息中显示出resource-types.xml资源类型配置文件未到,原因在于没有进行 YARN Resource 配置。
  
解决:
  资源管理器是跟踪集群中哪些资源的最终仲裁者。资源管理器从XML配置文件加载其资源定义。例如,要定义除CPU和内存之外的新资源。
  对于定义的每个新资源类型,可以添加可选的单元属性以设置资源类型的默认单位。
增加resource-types.xml配置:

<configuration>
  <property>
    <name>yarn.resource-typename>
    <value>resource1, resource2value>
  property>

  <property>
    <name>yarn.resource-type.resource1.unitsname>
    <value>Gvalue>
  property>

  <property>
    <name>yarn.resource-type.resource2.minimumname>
    <value>1value>
  property>

  <property>
    <name>yarn.resource-type.resource2.maximumname>
    <value>1024value>
  property>
configuration>

然后分发一下resource-types.xml文件,再重启yarn就OK了!
注意:这个官方文档里的配置项有误!里面的yarn.resource-types多了一个s,都要改成:yarn.resource-type

你可能感兴趣的:(常见错误整理,hadoop,bug,apache,yarn)