Hadoop集群中的主节点

时间:2020-02-23 14:33:35  来源:igfitidea点击:

分布式Hadoop群集中的主节点主持此列表中描述的各种存储和处理管理服务,用于整个Hadoop集群。
冗余对于避免单点故障至关重要,因此我们可以看到两个交换机和三个主节点。

  • namenode:管理HDFS存储。为确保高可用性,我们可以拥有Active NameNode和Standby NameNode。每个都在自己的专用主节点上运行。

  • 检查点节点(或者备份节点):为NameNode提供检查点服务。这涉及读取NameNode的编辑日志,以便自上次检查点以来的HDFS(新,删除和添加文件)中的文件更改,并将它们应用于将文件映射到数据块的NameNode的主文件。
    此外,备份节点还将文件系统命名空间的副本保存在内存中,并将其与NameNode的状态同步。有关高可用性部署,请勿使用检查点节点或者备份节点 - 使用备用NameNode。除了作为NameNode的活动待机之外,备用NameNode还维护了检查点的服务,并在内存中保留文件系统命名空间的最新副本。

  • journalnode:接收编辑日志修改,指示来自NameNode的HDF中的文件更改。至少三个journalnode服务(并且始终是一个奇数)必须在群集中运行,并且它们的重量轻,它们可以在主节点上与其他服务进行汇编。

  • 资源管理器:监督Hadoop集群资源的应用程序任务和管理的调度。这项服务是纱线的核心。

  • JobTracker:对于Hadoop 1服务器,处理群集资源管理和调度。使用纱线,jobtracker已过时并没有使用。许多Hadoop部署仍未迁移到Hadoop 2和Yarn。

  • HMASTER:监视HBase Region服务器并处理所有元数据的变化。为确保高可用性,请务必使用第二个HMASTER实例。 HMASTER服务是重量轻,足以与主节点上的其他服务一起融合。在Hadoop 1中,HMASTER服务在主节点上运行的实例。在Hadoop 2,Hoya(纱线上的HBase),HMASTER实例在从节点上的容器中运行。

  • Zookeeper:坐标分布式组件,并提供控制它们同步的机制。 ZooKeeper用于检测NameNode的故障并选择新的NameNode。它也与HBase一起用于管理HMASTER和REGIONServers的状态。
    与journalnode一样,我们需要至少三个Zookeeper节点(并且始终为奇数),它们的重量轻松可与主节点上的其他服务结合。

其中我们有三个主节点(具有相同的硬件),其中关键服务Active NameNode,Standby NameNode和Resource Manager每个都有自己的服务器。
每个服务器上都有journalnode和zookeeper服务,但这些是重量轻的,不会是nameNode和资源管理器服务的资源争用源。

Hadoop 1的原理是相同的,我们需要一个用于NameNode,辅助NameNode和JobTracker服务的专用主节点。

如果我们计划在Hadoop 2中使用Hoya的HBase,则不需要任何其他服务。
对于使用HBase的Hadoop 1部署,请在Hadoop集群的主节点上查看以下图表,请在Hadoop集群的主节点上部署服务。

将这些主服务器与Hadoop 1主服务器进行比较时,在没有HBase支持的情况下,有两个差异:在此处需要两个HMASTER服务(一个用于协调HBASE,并且一个用于作为备用)以及所有三个主节点上的ZooKeeper服务以处理故障转移。

如果我们打算仅使用Hadoop 1群集为HBase,则可以在没有JobTracker服务的情况下执行,因为HBase不依赖于Hadoop 1 MapReduce基础架构。

当人们谈论Hadoop的硬件时,他们通常强调商品组件的使用 - 廉价的组件。
由于我们只需要几个主节点(通常为三四个),因此如果例如,我们决定使用昂贵的硬盘驱动器,则不会通过乘以成本来命中。

请记住,没有主节点,没有Hadoop集群。
主节点提供了任务关键函数,即使我们需要冗余,我们应该以高可用性和弹性设计。

推荐的存储

对于Hadoop主节点,无论从子节点的数量或者群集的使用,存储特性都是一致的。
使用四个900GB SAS驱动器,以及配置为RAID 1 + 0的RAID HDD控制器。
SAS驱动器比SATA驱动器更昂贵,存储容量较低,但它们更快,更可靠。

将SAS驱动器部署为RAID阵列可确保Hadoop管理服务具有冗余商店,以获得其关键任务数据。
这为我们提供了足够的稳定,快速,冗余的存储,以支持Hadoop集群的管理。

推荐的处理器

在这种写作时,大多数参考架构建议使用具有两个CPU套接字的主板,每个CPU套接字有六个或者八个核心。
常用的英特尔常春藤桥梁架构。

推荐内存

内存要求根据Hadoop集群的比例而变化很大。
内存是Hadoop主节点的关键因素,因为活动和备用NameNode服务器严重依赖RAM来管理HDFS。
因此,使用用于Hadoop主节点的错误校正内存(ECC)。
通常,主节点需要64GB和128GB的RAM。

nameNode内存要求是存储在HDFS中的文件块数的直接函数。
通常,NameNode使用每百万HDFS块的大约1GB的RAM。
(请记住,文件分为单个块并复制,以便我们有三个每个块的副本。
)

资源管理器,HMASTER,ZOOKEEPER和journdnode服务器的内存需求远低于NameNode服务器。
但是,它是良好的做法,以一致的方式大小大小,以便在硬件故障的情况下它们可互换。

推荐网络

快速通信对于主节点上的服务至关重要,因此我们建议使用一对绑定的10GBE连接。
这种粘合对提供冗余,但也使吞吐量加倍到20gbe。
对于较小的群集(例如,小于50个节点),我们可以使用1 GBE连接器来获取。