千家信息网

Hadoop基础概念

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,一、基本概念与模型1、大数据结构化数据:有严格定义半结构化数据:html、json、xml等,有结构但没有约束的文档非结构化数据:没有元数据,比如说日志类文档搜索引擎:ELK,搜索组件、索引组件组成,
千家信息网最后更新 2026年11月03日Hadoop基础概念

一、基本概念与模型

1、大数据

结构化数据:有严格定义

半结构化数据:html、json、xml等,有结构但没有约束的文档

非结构化数据:没有元数据,比如说日志类文档

搜索引擎:ELK,搜索组件、索引组件组成,用来搜索数据,保存在分布式存储中

爬虫程序:搜索的是半结构化和非结构化数据

需要+高效存储能力、高效的分析处理平台

2、Hadoop

Hadoop是用Java语言开发的,是对谷歌公司这3篇论文开发出来的山寨版

2003年:The Google File System -->HDFS

2004年:MapReduce:Simplified Data Processing On Large Cluster -->MapReduce

2006年:BigTable:A Distributed Storage System for Structure Data -->Hbase

HDFS+MapReduce=Hadoop

HDFS:Hadoop的分布式文件系统,有中心节点式存储数据

MapReduce:面向大数据并行处理的计算模型、框架和平台

HBase:Hadoop的database数据库

官方网址:hadoop.apache.org

二、HDFS

1、HDFS问题

存在名称节点:NN:NameNode和第二名称节点SNN:Secondary NameNode

NN数据存储在内存中,由于数据在内存中变化十分快,硬盘存储跟不上内存的变化速度,所以通过类似于数据库事务日志的机制,向硬盘存储映像文件,在此过程中 ,追加日志不断被清空不断被写入,所以当NN服务器挂了,至少不会丢失太多文件,但是由于文件元数据在宕机后可能有不统一的情况造成文件校验,数据量过大会花费大量时间。

SNN为辅助名称节点,NN的追加日志放到了共享存储上,使SNN能访问,当NN宕机后,SNN会可以根据追加日志及时启动,至少优化了只有一个NN时候的文件校验时间。

在Hadoop2或者HBase2版本之后,可以将数据共享存放到zookeeper,几个节点通过zookeeper同时获取到视图,很好的解决了刚才的问题,也能够进行高可用设置了。

2、HDFS数据节点工作原理:

存在数据节点:DN:DataNode

当有数据存储时,HDFS文件系统除了存储DN,会再寻找两个数据节点进行存储作为副本,数据节点之间以链式相连,即有第一份才有第二份,有第二份才有第三份,每次存储结束后节点会向前数据点报告,向元数据块或者服务器报告自己的状态和数据块列表。当某一点数据丢失,此时链式数据会重新启动,补足丢失的数据块。

三、MapReduce

1、JobTracker:作业追踪器

每一个负责运行作业的节点,在MapReduce里叫任务追踪器,TaskTracker

2、每一个节点都要运行两类进程:

DataNode:负责存储或者删除数据等数据管理操作

TaskTracker:负责完成队列处理,属于Hadoop集群

3、程序特点

传统程序方案:程序在哪,数据就加载在哪

Hadoop方案:数据在哪,程序就在哪里跑

4、Hadoop分布式运行处理框架

任务提交可能会同时由N个人提交N个作业,每个人的作业不一定运行在所有节点上,有可能是在一部分节点上,甚至可能是一个节点上,为了能够限制一个节点上不要接入过多的任务,所以我们通过task slot,任务槽,来确定一个节点最多只能运行多少份任务

5、函数式编程:MapReduce参考了这种运行机制

Lisp,ML函数式编程语言:高阶函数

map,fold

map:把一个任务映射为多个任务,把一个函数当作为一个参数,并将其应用于列表中的

所有元素,会生成一个结果列表,即可映射为多个函数。

map(f())

fold:不断地把得到的结果折叠到函数上,接收两个参数:函数,初始值。

fold(g(),init):首先结合init初始值,通过函数g()得到g(init)的结果,然后将得到的结果g(init)在第二轮将作为初始值,通过函数g()得到g(g(init))的结果,以此类推最后会得到一个最终结果。

6、MapReduce过程

<1>mapper:每一个mapper就是每一个实例,每一个mapper处理完会生成一个列表,相当于map函数的过程,mapper接收数据如果是键值数据则直接使用,如果不是键值数据会先转换为键值数据

<2>reducer:当所有mapper运行完以后才会进行reducer,相当于fold函数的过程,reducer可能不止一个,reducer只处理键值型数据,接收到的数据做折叠

<3>reducer在折叠后的数据依旧是键值型数据,折叠过程叫做shuttle and sort,此过程十分重要

便于理解:同济一本书每个单词出现的次数:

mapper:每100页一个单位,比如说5 mappers,用于拆分成为单词,比如说this 1,is 1,this 1,how 1,单词逐个拆分,mapper处理后的为k-v型数据

reducer:reducer只处理键值型数据,将拆分出来的单词传递进reducer中进行统计处理与排序,将键相同的数据发往同一个reducer中,最后的结果this 500,is 200等等,结果依旧为kv型数据

shuffle and sort:接收mapper后,reducer将单词出现的次数进行键值数据统计计算的过程叫做shuffle and sort

7、Hadoop数据图

Hadoop只提供了数据存储平台,任何作业、任何数据程序处理必须由Hadoop开发人员写MapReduce程序调用才可供使用,mapper的具体任务是什么,reducer用什么,都取决于开发人员的定义是什么。

(1)partitioner:分区器,具备决定将mapper键值通过shuffle and sort过程发送给哪个reducer的功能

(2)combiner:如果mapper产生的键值数据中的键相同,那么将合并键,否则不合并,分散发送,同样由hadoop开发人员开发。其输入键和输出键必须保证一致。

(3)多个reduce时:

sort:每一个map在本地排序叫做sort

(4)单个reduce时:

(5)shuffle and sort阶段:

(6)作业提交请求过程:

(7)JobTracker内部结构

作用:作业调度、管理监控等等,所以运行时JobTracker会非常繁忙,它由此也成为了性能瓶颈,不过在MRv2版本后,作业调度、管理和监控功能被切割

(8)版本更迭

MRv1(Hadoop2) --> MRv2(Hadoop2)

MRv1:集群资源管理器、数据处理程序

MRv2:

YARN:集群资源管理器

MRv2:数据处理程序

Tez:执行引擎

MR:批处理作业

RT Stream Graph:实时流式图处理,图状算法数据结构

(9)第二代hadoop资源任务运行流程

mapreduce把 资源管理和任务运行二者隔离开了,程序运行由自己的Application Master负责,而资源分配由Resource Manager进行。所以当一个客户端提交一个任务时,Resource Manager会询问每一个Node Manager有没有空闲的容器来运行程序。如果有,它去找有的这个节点,来启动这个主控进程Application Master。然后App Mstr向Resource Manager申请资源任务,Resource Manager分配好资源任务后会告诉App Mstr,之后App Mstr可以使用contrainer来运行作业了。

每一个container在运行过程中都会将反馈自己的作业任务给App Mstr,当container中有任务结束了,App Mstr也会报告给Resource Manager,Resource Manager会将资源收回来

RM:Resource Manager

NM:Node Manager

AM:Application Manager


数据 节点 任务 运行 处理 存储 函数 程序 作业 过程 结构 结果 资源 文件 开发 管理 单词 日志 结构化 搜索 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 深圳九邦互联网科技有限公司 互联网 科技创新 互联网科技金融公司 中国 科技 互联网 嘟嘟瓜互联网科技 北京互联网络科技有限公司 广州互联网络科技有限公司 互联网金融科技委员会 老年人脱离互联网科技的作文 中国的互联网科技企业的崛起 受益于互联网科技的高速发展 互联网为啥属于高科技 青岛科技大学互联网大赛研究生 华夏互联网科技业 苏州铭阳互联网科技有限公司 链环科技传统企业怎么转型互联网 互联网金融科技展 产业互联网科技服务公司 本届互联网大会上的黑科技 中国主要互联网科技公司 互联网与科技 蓝思科技飞鸽互联网 互联网科技社 北京互联网科技有限公司 互联网科技上市公司 深圳卡尔迅互联网科技有限公司怎么样 互联网科技公司有风险吗 佛山市拉法互联网科技有限公司 明优互联网科技有限公司 互联网的黑科技实验室
0