Hadoop生态系统
在这篇博客中,让我们了解 Hadoop 生态系统。这是开始使用 Hadoop 之前需要了解的一个重要主题。此 Hadoop 生态系统博客将让您熟悉 Hadoop 认证所需的全行业使用的大数据框架。
Hadoop 生态系统既不是一种编程语言,也不是一种服务;而是一种服务。它是解决大数据问题的平台或框架。您可以将其视为一个套件,其中包含许多服务(摄取、存储、分析和维护)。让我们讨论并简要了解这些服务如何单独和协作工作。
以下是共同构成 Hadoop 生态系统的 Hadoop 组件。我将在这个博客中介绍它们:
- HDFS — Hadoop 分布式文件系统。
- YARN——又一个资源谈判者 。
- MapReduce — 使用编程进行数据处理。
- Spark — 内存中数据处理。
- PIG、HIVE — 使用查询(类似 SQL)的数据处理服务。
- HBase —— NoSQL 数据库。
- Mahout,Spark MLlib — 机器学习。
- Apache Drill — Hadoop 上的 SQL。
- Zookeeper — 管理集群。
- Oozie — 作业调度。
- Flume、Sqoop — 数据摄取服务。
- Solr 和 Lucene — 搜索和索引。
- Ambari — 配置、监控和维护集群。
HaDoop分布式文件系统
- HDFS 使得存储不同类型的大型数据集(即结构化、非结构化和半结构化数据)成为可能。
- HDFS 创建了资源的抽象级别,我们可以将整个 HDFS 视为一个单元。
- 它帮助我们跨不同节点存储数据并维护有关存储数据(元数据)的日志文件。
- HDFS 有两个核心组件(
NameNode
和DataNode
)。- 是
NameNode
主节点,它不存储实际数据。它包含元数据,就像日志文件或者可以说是目录。因此,它需要较少的存储和较高的计算资源。 - 另一方面,您的所有数据都存储在上
DataNodes
,因此需要更多的存储资源。这些数据节点是分布式环境中的商品硬件(如笔记本电脑和台式机)。这就是 Hadoop 解决方案非常经济高效的原因。 NameNode
您总是在写入数据时进行通信 。然后,它在内部向客户端发送请求以在各种DataNodes
.
- 是
Hadoop分布式文件存储架构
纱
视为 Hadoop 生态系统的大脑。它通过分配资源和调度任务来执行所有处理活动。
- 它有两个主要组成部分(
ResourceManager
和NodeManager
)。-
ResourceManager
又是加工部门的一个主要节点。 - 它接收处理请求,然后将请求的部分传递到相应的
NodeManagers
,在此处进行实际处理。 -
NodeManagers
安装在每个DataNode
. 它负责在每个 DataNode 上执行任务。
-
- 调度程序:根据您的应用程序资源需求,调度程序执行调度算法并分配资源。
- ApplicationsManager:在
ApplicationsManager
接受作业提交时,它与容器(即进程执行的数据节点环境)协商以执行特定的应用程序ApplicationMaster
并监控进度。ApplicationMasters
是驻留在 a 上DataNode
并与容器通信以在每个 上执行任务的守护进程DataNode
。ResourceManager
有两个组成部分 (Schedulers
和)。ApplicationsManager
映射减少
它是 Hadoop 生态系统中处理的核心组件,因为它提供了处理逻辑。换句话说,MapReduce是一个软件框架,有助于编写在 Hadoop 环境中使用分布式并行算法处理大型数据集的应用程序。
- 在MapReduce程序中,
Map()
和Reduce()
是两个函数。- 该
Map
函数执行过滤、分组和排序等操作。 - 该
Reduce
函数聚合并总结函数产生的结果map
。 - Map函数生成的结果是一个键值对(K,V),它作为函数的输入
Reduce
。
- 该