什么是Apache Hadoop?

Apache Hadoop是一个用于处理海量数据的开源软件程序。它通过在多台计算机上共享部分数据来实现这一点,复制大量数据以实现冗余。该软件及其计算模型使处理海量数据的速度比传统的大型机或超级计算机更快。

Apache Hadoop软件框架通过在商品硬件集群上的分布式存储和处理实现了这一点,我们所有人都可以使用计算机。每个硬件单元集群都可以看作是一个单独的单元。每个集群由位于一个位置的多个处理和存储单元组成。不同的集群位于不同的位置。例如,您的工作站点可能有一个集群或五台计算机的集合,处于不同状态的位置可能有四台计算机的集群,等等。这允许数千台计算机参与其中。

该软件假定硬件故障率很高,并通过在相同和不同集群中的不同节点或计算机之间复制数据来处理潜在问题。当Hadoop检测到故障时,它通常会在本地集群的节点上复制两次进程中的信息,在不同集群位置的节点上复制一次。

组件及功能

Apache Hadoop由四个关键组件组成,并有多个附加子程序可用。四个核心模块是:

  • Hadoop Common:其他Hadoop模块使用的库和实用程序,Hadoop程序需要这些库和实用程序才能工作。
  • Hadoop分布式文件系统(HDFS一种分布式文件系统,在不同位置的许多不同计算机上存储数据。这为处理创造了比单个机器或服务器更高的整体带宽,从而实现了快速处理。它是用Java编写的。
  • Hadoop MapReduce:特定于Hadoop的实现MapReduce用于大规模数据处理。由Map函数(用于过滤和排序数据)和Reduce函数(用于创建用户读取的Map数据的摘要)组成。
  • Hadoop YARN: Hadoop程序的一部分,用于管理数据集群,并在不同的集群文件系统中调度它们的使用。

在Hadoop v.2中,调度和监控被发送到YARN,由资源管理器跟踪调度,应用程序管理器跟踪监控。在以前的版本中,MapReduce中的Job Tracker会调度一个作业,并监控它的失败、延迟等。任务跟踪器运行作业并将其发送给作业跟踪器。在Hadoop的后期版本中,MapReduce完成了它的工作调度。

工作原理

Hadoop主要通过两个系统工作,HDFS和MapReduce。HDFS有以下5个服务:

  • HDFS存储Hadoop程序使用的数据。它由一个名称节点(主节点)组成,该节点跟踪文件、管理文件系统,并包含元数据和其中的所有数据。
  • 数据节点在HDFS中以块的形式存储数据,是主节点的从节点。
  • 次要名称节点处理文件系统的元数据检查点。
  • Job Tracker接收来自用户的MapReduce处理请求。
  • 任务跟踪器充当作业跟踪器的从节点。它获取作业和相关代码,并将其应用到相关文件。

作业跟踪器和任务跟踪器组成了MapReduce引擎。每个MapReduce引擎包含一个作业跟踪器,用于接收来自用户的MapReduce作业请求并将它们发送到适当的任务跟踪器。目标是将任务保持在最接近进程中数据的节点上。

Hadoop v.2实现了HDFS和MapReduce之间的YARN。

Hadoop v.3实现了多个名称节点,解决了潜在的单点故障问题。

结论

Apache Hadoop使得快速处理大量数据成为可能。一些常见的用途包括:

  • 危及生命危险分析
  • 识别安全漏洞的警告信号
  • 预防硬件故障
  • 了解人们对你的公司的看法

万博手机登录平台

www.quora.com/What-are-some-common-uses-for-Apache-Hadoop

https://en.wikipedia.org/wiki/Apache_Hadoop

https://data-flair.training/forums/topic/is-yarn-a-replacement-of-hadoop-mapreduce/

术语汇编

数据集成技术的命名指南。

Baidu
map