![Hadoop 3.x大数据开发实战](https://wfqqreader-1252317822.image.myqcloud.com/cover/92/47216092/b_47216092.jpg)
3.1.1 Hadoop生态系统架构
![](https://epubservercos.yuewen.com/D3E4EF/26580791601170406/epubprivate/OEBPS/Images/Figure-P33_8016.jpg?sign=1738807912-ayGvi33CYRHtj9XD5IgRSW1IJqV0glB8-0-6fe2095a220aebec9a53cf63ff35ac1d)
Hadoop的生态系统主要组成架构,如图3-1所示。
随着Hadoop生态系统的成长,出现了越来越多新的项目,这些项目有的需要依赖于Hadoop,有的可以独立运行,有的对Hadoop提供了很好的补充。
![](https://epubservercos.yuewen.com/D3E4EF/26580791601170406/epubprivate/OEBPS/Images/Figure-P34_61362.jpg?sign=1738807912-K3nCTgKTQCSXGq8mXha0Iur4B4k54Jha-0-ca738fda12ac5646bddf6d572cdcab68)
图3-1 Hadoop生态系统主要组成架构
下面对Hadoop生态系统架构中的关键技术进行简要介绍,本书后续章节将对每一项技术进行详细讲解。
Hadoop的核心主要包含以下模块:
· HDFS(Hadoop Distributed File System):可提供高吞吐量访问的分布式文件系统。
· YARN:用于任务调度和集群资源管理的框架。
· MapReduce:基于YARN之上,用于大型数据集并行处理的系统。
其他Hadoop相关的系统:
· ZooKeeper:一个高性能的分布式应用程序的协调服务。
· Flume:一个日志收集系统,用于将大量日志数据从许多不同的源进行收集、聚合,最终移动到一个集中的数据中心进行存储。
· Sqoop:用于在关系数据库与Hadoop平台之间进行数据导入和导出的工具。
· Kafka:一个高吞吐量的分布式发布订阅消息系统。
· HBase:一个可伸缩的分布式数据库,支持大型表的结构化数据存储。底层使用HDFS存储数据,同时依赖ZooKeeper进行集群协调服务。
· Elasticsearch:一个基于Lucene的分布式全文搜索引擎。
· Hive:基于Hadoop的数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能,可以将SQL语句转换为MapReduce任务运行。
· Storm:一个分布式的实时计算系统。
· Spark:一种快速通用的Hadoop数据计算引擎。Spark提供了一个简单而有表现力的编程模型,该模型支持广泛的应用程序,包括ETL、机器学习、流处理和图形计算。