前言:
Hadoop是一个用Java编写的Apache开源框架,允许使用简单的编程模型跨计算机集群分布式处理大型数据集。是专门为离线和大规模数据分析而设计的,Hadoop旨在从单个服务器扩展到数千个机器,每个都提供本地计算和存储。
目录
Hadoop 介绍
Hadoop的核心主要包含两个部分:HDFS和MapReduce。HDFS(Hadoop Distributed File System)是分布式文件系统,用于分布式存储海量数据。MapReduce是分布式数据处理模型,本质是并行处理。
ps:YARN(Yet Another Resource Negotiator)是Hadoop 2.0中的资源管理系统,用于统一管理和调度集群中的资源。
以下内容根据Hadoop 2.X来进行讲解
Hadoop 2.X HDFS 集群架构
以上是HDFS的架构图;
HDFS(Hadoop Distributed File System) : 分布式文件存储系统
namenode : 主节点
1、管理整个HDFS集群
2、维护和管理元数据
ps:一台服务器就相当于一个节点,主节点可以理解为众多节点中的大哥,起带头作用
元数据:描述数据的数据就被称为元数据
例如:文件的存储路径,大小,时间,权限等描述信息
SecondaryNameNode:辅助节点(相当于大哥的秘书)
辅助namenode管理元数据的
datanode:从节点(小弟)
1、维护和管理源文件(源数据)
2、负责数据的读,写操作
3、定时向namenode报活
Hadoop 2.X Yarn 集群
ResourceManager:主节点
1、负责任务的接受
2、负责资源的调度和分配
AppMaster进程(代码级别):
一个MapReduce计算任务 = 一个AppMaster进程,由该AppMaster进程来监控和管理该计算任务,并负责向ResourceManager申请资源
nodemanager:从节点
负责接受并执行ResourceManager分配过来的计算任务
前面提到的MapReduce在1.X中还有着集群架构,用来负责计算任务,但在2.X 中已经没有MapReduce集群的概念了,而是代码级别的程序,即:MapReduce计算任务
ps:我们只需要用代码编写MapReduce计算任务,然后交由Yarn调度执行即可