本文分别为您介绍非高可用集群和高可用集群的HDFS组件的部署拓扑信息。

非高可用集群

节点 组件 描述
master-1-1(部分版本为 emr-header-1) NameNode NameNode对外提供读写服务。
SecondaryNameNode SecondaryNameNode合并NameNode的edits日志到FsImage,加速NameNode重启。
core-1-1或emr-worker-x DataNode 管理和存放HDFS数据块,节点上的数据盘。

高可用集群

节点 组件 描述
master-1-1(部分版本为emr-header-1) ZKFailoverController(ZKFC) 独立的进程运行,根据NameNode的状态进行主备选举和切换。
NameNode 一组NameNode服务中,由一个Active状态的NameNode(主NameNode)提供读写服务,其他NameNode为Standby状态(备NameNode)。只有主NameNode才能对外提供读写服务。
JournalNode 存放NameNode的edits log,一般3台Journal为一组。当两台JournalNode同时健康、可写入的情况下,NameNode才可提供服务。
ZooKeeper EMR集群内的ZooKeeper。ZKFC基于ZooKeeper提供的能力实现选举,同时其他组件的HA也会依赖ZooKeeper。
master-1-2(部分版本为emr-header-2) ZKFailoverController(ZKFC) 独立的进程运行,根据NameNode的状态进行主备选举和切换。
NameNode 一组NameNode服务中,由一个Active状态的NameNode(主NameNode)提供读写服务,其他NameNode为Standby状态(备NameNode)。只有主NameNode才能对外提供读写服务。
JournalNode 存放NameNode的edits log,一般3台Journal为一组。当两台JournalNode同时健康、可写入的情况下,NameNode才可提供服务。
ZooKeeper EMR集群内的ZooKeeper。ZKFC基于ZooKeeper提供的能力实现选举,同时其他组件的HA也会依赖ZooKeeper。
master-1-3(部分版本为emr-header-3或emr-worker-1) *ZKFailoverController(ZKFC) 独立的进程运行,根据NameNode的状态进行主备选举和切换。
说明 EMR 5.8.0版本之后的Hadoop 3.x默认为3组NameNode部署 ,多一组ZKFC和NameNode部署在master-1-3上。
*NameNode 一组NameNode服务中,由一个Active状态的NameNode(主NameNode)提供读写服务,其他NameNode为Standby状态(备NameNode)。只有主NameNode才能对外提供读写服务。
说明 EMR 5.8.0版本之后的Hadoop 3.x默认为3组NameNode部署 ,多一组ZKFC和NameNode部署在master-1-3上。
JournalNode 存放NameNode的edits log,一般3台Journal为一组。当两台JournalNode同时健康、可写入的情况下,NameNode才可提供服务。
ZooKeeper EMR集群内的ZooKeeper。ZKFC基于ZooKeeper提供的能力实现选举,同时其他组件的HA也会依赖ZooKeeper。
core-1-1或emr-worker-x DataNode 管理和存放HDFS数据块,节点上的数据盘。