在接触大数据领域过程中,发现始终绕不开Hadoop。本文继续大数据的学习,认识一下Apache Hadoop。
Apache™ Hadoop® 项目开发用于可靠、可扩展、分布式计算的开源软件。
Apache Hadoop 软件库是一个框架,允许使用简单的编程模型跨计算机集群分布式处理大型数据集。它旨在从单个服务器扩展到数千台机器,每台机器都提供本地计算和存储。该库本身不是依靠硬件来提供高可用性,而是设计用于检测和处理应用层的故障,因此在计算机集群之上提供高可用性服务,每台计算机都可能容易出现故障。
该项目包括以下模块:
- Hadoop Common:支持其他 Hadoop 模块的通用实用程序。
- Hadoop 分布式文件系统 (HDFS™):提供对应用程序数据的高吞吐量访问的分布式文件系统。
- Hadoop YARN:用于作业调度和集群资源管理的框架。
- Hadoop MapReduce:一个基于 YARN 的系统,用于并行处理大型数据集。
Hadoop架构
Hadoop 具有使用 MapReduce 和 HDFS 方法进行数据存储和分布式数据处理的主从架构。
名称节点:
NameNode 代表命名空间中使用的每个文件和目录
数据节点:
DataNode 可帮助您管理 HDFS 节点的状态并允许您与块进行交互
主节点:
主节点允许您使用 Hadoop MapReduce 进行数据的并行处理。
从节点:
从节点是 Hadoop 集群中的附加机器,它允许您存储数据以进行复杂的计算。此外,所有从节点都带有Task Tracker和一个DataNode。这允许您分别与 NameNode 和 Job Tracker 同步进程。
在Hadoop中,可以在云端或本地设置主系统或从系统
“Hadoop”的特点
• 适用于大数据分析
由于大数据在本质上往往是分布式和非结构化的,因此 Hadoop集群最适合分析大数据。由于流向计算节点的是处理逻辑(而非实际数据),因此消耗的网络带宽较少。这个概念被称为数据局部性概念,它有助于提高基于 Hadoop 的应用程序的效率。
• 可扩展性
Hadoop集群可以通过添加额外的集群节点轻松扩展到任何程度,从而允许大数据的增长。此外,缩放不需要修改应用程序逻辑。
• 容错
Hadoop 生态系统提供了将输入数据复制到其他集群节点的规定。这样,在集群节点发生故障的情况下,数据处理仍然可以使用存储在另一个集群节点上的数据进行。
参考:Apahce hadoop官网 和 guru99