You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Hadoop 2.6 YARN配置重复问题:确认实际生效配置

问题分析与解答

首先给你划个核心结论:实际生效的是来自yarn-default.xmlyarn.nodemanager.vmem-check-enabled=true配置,问题出在你自己的配置项拼写错误上!

先看UI里的两条配置细节:

  • 第一条配置的名称是yarn.nodemanamger.vmem-check-enabled(注意这里是nodemanamger,多了一个字母a),值为false,来源标识是java.io.BufferedInputStream@2893de87
  • 第二条是正确的配置项yarn.nodemanager.vmem-check-enabled,值为true,来源是默认配置文件

YARN的配置是严格匹配key名称的,拼写错误的配置项会被当成一个全新的、无关的配置条目,根本不会覆盖默认的yarn.nodemanager.vmem-check-enabled。所以你在yarn-site.xml里的修改等于没生效,集群还是沿用默认的虚拟内存检查开启状态。

再解释下java.io.BufferedInputStream@xxx这个来源标识:它通常表示该配置不是来自常规的XML配置文件,而是通过动态输入流加载的——比如你可能在启动YARN时通过命令行参数传递了这个拼写错误的配置,或是某个脚本动态生成并加载了这条配置。但不管来源是什么,因为key名称不匹配,它完全不会影响正确的虚拟内存检查配置。

解决方法很直接:把yarn-site.xml里的配置项名称修正为yarn.nodemanager.vmem-check-enabled,然后重启YARN的ResourceManager和NodeManager,之后UI里就会显示正确的配置覆盖关系了。

内容的提问来源于stack exchange,提问作者J Schmidt

火山引擎 最新活动