EMR集群中由多个不同的节点实例类型组成,他们分别是主实例节点(Master),核心实例节点(Core)和计算实例节点(Task),每一种不同的实例在部署的时候会部署完全不同的服务进程,以完成完全不同的任务。举例来说,我们会在主实例节点(Master)上部署 Hadoop HDFS 的 Namenode 服务,Hadoop YARN 的 ResourceManager 服务,而在核心实例节点(Core)上部署 Datanode 服务,Hadoop YARN 的 NodeManager 服务,在计算实例节点(Task)顾名思义,只进行计算,部署 Hadoop YARN 的 NodeManager 服务,不部署任何 HDFS 相关的服务。
在创建集群的时候需要确定对应的三种实例类型的 ECS 规格,相同实例类型的 ECS 在同一个实例组内。并且可以在后期通过扩容来扩容对应实例组内的机器数量(主实例组除外)。
注意:计算实例节点(Task)从3.2.0及以后版本开始支持
Master 主实例
主实例是集群服务的管控等组件的部署的节点,举例来说,Hadoop YARN 的 ResourceManager 就部署在主实例节点上。用户可以通过 SSH 的方式连接到主实例上,通过软件的 Web UI 来查看集群上的服务的运行情况。同时当需要进行快速的测试或者运行作业的时候,也可以登录到主实例上,通过命令行来直接提交作业。当集群开启了高可用的时候会有2个主实例节点,默认只有1个。
Core 核心实例
核心实例是被主实例管理的实例节点。上面会运行 Hadoop HDFS 的 Datanode 服务,并保存所有的数据。同时也会部署计算服务,比如 Hadoop YARN 的 NodeManager 服务,来执行计算任务。为满足存储数据量或者是计算量上升的需要,核心实例可以随时的扩容,不影响当前集群的正常运行。核心使用可以使用多种不同的存储介质来保存数据。参考磁盘介绍。
Task 计算实例
计算实例是专门负责计算的实例节点,是一个可选的实例类型。如果核心实例的计算能力足够的情况下,可以不使用计算实例。计算实例可以在任何时候快速的为集群增加额外的计算能力,如 Hadoop 的 MapReduce tasks, Spark executors 等。在计算实例上不会保存 HDFS 的数据,因此在计算实例上不运行 Hadoop HDFS 的 Datanode服务。计算实例可以随时的新增和减少,都不会影响到现有集群的运行。计算实例节点的减少可能会引起 MapReduce 和 Spark 的作业的失败,能否成功取决于该计算服务的重试容错能力。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。