我刚开始试用电子病历。默认情况下,EMR AMI 5.28.0似乎会标记节点(CORE,default(,而yarn应用程序主机似乎在CORE标签中运行。如何重新配置它,以便应用程序主机可以在CORE或TASK节点上运行。
注意:我在谷歌上搜索并尝试了多种选项,比如在yarn-site.xml中将yarn.node-labels.enabled更新为false,但似乎都不起作用。
AmazonEMR发布版本5.19.0及更高版本使用内置的YARN节点标签功能仅在CORE节点上启动应用程序主机。
由于Spot Instances通常用于运行任务节点,因此Amazon EMR具有用于调度YARN作业的默认功能,以便在终止在Spot Instance上运行的任务节点时,运行的作业不会失败。
我不建议在任何类型的节点上启动AM。相反,您可以考虑使用按需核心节点和spot for task节点。
从AmazonEMR6.x发布系列开始,YARN节点标签功能在默认情况下被禁用。默认情况下,应用程序主进程可以在核心节点和任务节点上运行。您可以通过配置以下属性禁用YARN节点标签功能:
yarn.node-labels.enabled:false
有关特定属性以及如何禁用它的信息,请参阅亚马逊电子病历设置以防止因任务节点点实例终止而导致作业失败。
参考
- https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-master-core-task-nodes.html
从主节点运行此脚本
sudo sed -i.bak "/yarn.node-labels.enabled/d" /etc/hadoop/conf/yarn-site.xml
sudo sed -i "/yarn.node-labels.am.default-node-label-expression/d" /etc/hadoop/conf/yarn-site.xml
sudo stop hadoop-yarn-resourcemanager
sudo start hadoop-yarn-resourcemanager
如果您计划与引导操作结合,请确保仅在master上运行此操作。