Hadoop 四大组件总结

Hadoop 的四大组件:common、HDFS、MapReduce、YARN

common(工具类):

包括 Hadoop 常用的工具类,由原来的 Hadoopcore 部分更名而来。主要包括系统配置工具 Configuration、远程过程调用 RPC、序列化机制和 Hadoop 抽象文件系统 FileSystem 等。它们为在通用硬件上搭建云计算环境提供基本的服务,并为运行在该平台上的软件开发提供了所需的 API。

  1. org.apache.hadoop.conf,配置相关类。
  2. org.apache.hadoop.fs,Hadoop文件系统。
  3. org.apache.hadoop.io,Hadoop I/O系统。
  4. org.apache.hadoop.ipc,Hadoop远程过程。
  5. 其他包,org.apache.hadoop.log,日志。org.apache.hadoop.metrics,用于度量统计和分析的。org.apache.hadoop.http和org.apache.hadoop.net,Hadoop对网络层次相关的封装。org.apache.hadoop.util,Common中的公共方法类,checkSum校验和的验证方法就包含于此。
     

Hadoop Distributed File System(HDFS):

Hadoop 实现了一个分布式的文件系统,HDFS 为海量的数据提供了存储。HDFS 是基于节点的形式进行构建的,里面有一个父节点 NameNode,他在机器内部提供了服务。NameNode 本身不干活,NameNode 将数据分成块,只是把数据分发给子节点,交由子节点来进行存储,由于只存在一个父节点,所以这是 HDFS 的一个缺点,单点失败。以及 n 个子节点DataNode,DataNode 在机器内部提供了数据块,存储在 HDFS 的数据被分成块,然后将这些块分到多个计算机 (DataNode) 中,这与传统的 RAID 架构大有不同。块的大小(通常为 64MB)和复制的块数量在创建文件时由客户机决定。NameNode 可以控制所有文件操作。

Hadoop 四大组件总结_第1张图片

NameNode:

NameNode 是一个通常在 HDFS 实例中的单独机器上运行的软件。它负责管理文件系统名称空间和控制外部客户机的访问。NameNode 决定是否将文件映射到 DataNode 上的复制块上。对于最常见的 3 个复制块,第一个复制块存储在同一机架的不同节点上,最后一个复制块存储在不同机架的某个节点上。

DataNode:

DataNode 也是一个通常在 HDFS 实例中的单独机器上运行的软件。Hadoop 集群包含一个 NameNode 和大量 DataNode。DataNode 通常以机架的形式组织,机架通过一个交换机将所有系统连接起来。Hadoop 的一个假设是:机架内部节点之间的传输速度快于机架间节点的传输速度。

 

MapReduce:

基于 YARN 的大型数据集并行处理系统。是一种计算模型,用以进行大数据量的计算。Hadoop 的 MapReduce 实现,和 Common、HDFS 一起,构成了 Hadoop 发展初期的三个组件。MapReduce 将应用划分为 Map 和 Reduce 两个步骤,其中 Map 对数据集上的独立元素进行指定的操作,生成键 - 值对形式中间结果。Reduce 则对中间结果中相同 “键” 的所有 “值” 进行规约,以得到最终结果。MapReduce 这样的功能划分,非常适合在大量计算机组成的分布式并行环境里进行数据处理。

 

YARN:

分布式集群资源管理框架,管理者集群的资源(Memory,cpu core)

合理调度分配给各个程序(MapReduce)使用

主节点:resourceManager。掌管集群中的资源

从节点:nodeManager。管理每台集群资源

 

总结:Hadoop 的安装部署

都属于 java 进程,就是启动了 JVM 进程,运行服务。

HDFS:存储数据,提供分析的数据(NameNode / DataNode)

YARN: 提供程序运行的资源(ResourceManager / NodeManager)

你可能感兴趣的:(Hadoop)