初识Hadoop两大核心:HDFS和MapReduce
一、Hadoop是什么?
Hadoop是一个能够对大量数据进行分布式处理的软件框架,实现了Google的MapReduce编程模型和框架,能够把应用程序分割成许多的小的工作单元,并把这些单元放到任何集群节点上执行。在MapReduce中,一个准备提交执行的应用程序称为“作业(job)”,而从一个作业划分出 得、运行于各个计算节点的工作单元称为“任务(task)”。此外,Hadoop提供的分布式文件系统(HDFS)主要负责各个节点的数据存储,并实现了高吞吐率的数据读写。
二、Hadoop的主要模块:
Hadoop框架的主要模块包括如下:
- Hadoop Common
- Hadoop分布式文件系统(HDFS)
- Hadoop YARN
- Hadoop MapReduce
虽然上述四个模块构成了Hadoop的核心,不过还有其他几个模块。这些模块包括:Ambari、Avro、Cassandra、Hive、 Pig、Oozie、Flume和Sqoop,它们进一步增强和扩展了Hadoop的功能。
三、(Master/Slave)主从架构:
Hadoop使用(Master/Slave)主从架构进行分布式储存和分布式计算。Master负责分配和管理任务,Slave负责实际执行任务。
在分布式存储和分布式计算方面,Hadoop都是用从/从(Master/Slave)架构。在一个配置完整的集群上,想让Hadoop这头大象奔跑起来,需要在集群中运行一系列后台(deamon)程序。不同的后台程序扮演不用的角色,这些角色由NameNode、DataNode、Secondary NameNode、JobTracker、TaskTracker组成。其中NameNode、Secondary NameNode、JobTracker运行在Master节点上,而在每个Slave节点上,部署一个DataNode和TaskTracker,以便 这个Slave服务器运行的数据处理程序能尽可能直接处理本机的数据。对Master节点需要特别说明的是,在小集群中,Secondary NameNode可以属于某个从节点;在大型集群中,NameNode和JobTracker被分别部署在两台服务器上。
数据存取 - HDFS架构:
Master / Slave(主从结构) - 节点可以理解为物理机器
- 主节点,只有一个: Namenode
- 从节点,有很多个: Datanodes
数据运算 - MapReduce架构:
主从结构
- 主节点,只有一个: JobTracker
- 从节点,有很多个: TaskTrackers
Hadoop集群示意图:
四、HDFS与MapReduce的设计思路:
HDFS:
将文件进行切块处理,再通过文件信息服务器Namenode存放切块的文件信息存放地址,实际存放数据的服务器Datanode存放切块后的数据。
系统默认:每个片块大小为64M,以保证寻址速度;数据会写入3个Datanode中,以保证更高的容错性。
HDFS还设计了Secondary Namenode来更新Namenode,以避免日志文件过大。
HDFS Client帮助Namenode对写入读取数据进行预处理,进行文件的分块与发送读取操作。Namenode负责为数据任务寻址。
MapReduce:
通过JobClient生成任务运行文件,并在JobTracker进行调度指派TaskTracker完成任务。
JobTracker分为把任务文件进行分解并派送到TaskTracker的程序JobinProgress和执行调度器的TaskScheduler。
JobinProgress把作业分解成Map计算和Reduce计算并放置到TaskTracker服务器中。
数据在Hadoop中的流程处理示意图:
五、HDFS与MapReduce组件介绍:
HDFS:
HDFS Client:进行文件的分块与文件的发送读取。
Namespace image:记录每个文件的存在位置信息。
Edit log:记录每个文件的位置移动信息。
Namenode(Master):管理着每个文件中各个块所在的数据节点的位置信息。
Secondary Namenode:更新并备份Namenode。
Datanode(Slave):记录着服务器内所储存的数据块的列表。
Secondary Namenode:更新并备份Namenode。
MapReduce:
JobClient:用于把用户的作业任务生成Job的运行包,并存放到HDFS中。
JobinProgress:把Job运行包分解成MapTask和ReduceTask并存放于TaskTracker中。
JobTracker(Master):进行调度管理TaskTracker执行任务。
TaskTracker(Slave):执行分配下来的Map计算或Reduce计算任务。
初识Hadoop两大核心:HDFS和MapReduce相关推荐
- BigData之Hadoop:Hadoop框架(分布式系统基础架构)的简介(两大核心【HDFS存储和MapReduce计算】)、深入理解、下载、案例应用之详细攻略
BigData之Hadoop:Hadoop框架(分布式系统基础架构)的简介(两大核心[HDFS存储和MapReduce计算]).深入理解.下载.案例应用之详细攻略 目录 Hadoop的简介(分布式系统 ...
- hadoop的两大核心之一:HDFS总结
2019独角兽企业重金招聘Python工程师标准>>> hadoop的两大核心之一 海量数据的存储(HDFS) 什么是HDFS? hadoop distributed file sy ...
- 游戏行业两大核心问题:数据挖掘与安全
4月19-21日的2016云栖大会深圳峰会,有前沿技术深度分享.Workshop阿里云开放实验室.行业企业聚会.Tech Insight实战干货,更有20+场分论坛,120+高浓度实战演讲,100+阿 ...
- Java轻量级业务层框架Spring两大核心IOC和AOP原理
IoC(Inversion of Control): IOC的基本概念是:不创建对象,但是描述创建它们的方式.在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务.容器负责将这些 ...
- 【JAVAEE框架】浅谈 Spring 框架的两大核心思想 AOP 与 IOP
哈喽~大家好呀,这篇来看看Spring 框架的两大核心思想.
- Spring框架两大核心特征的基本理解
Spring框架的两大核心特征:AOP和IoC IoC(控制反转)是Spring的一个容器,他不是一种技术,而是一种思想,依旧是基于面向对象编程的.它能指导我们怎么样设计出松耦合.更优良的程序. 简单 ...
- 四大“化学融合”、两大核心平台能力,华为首次系统解读OneStorage
4月14日,在2021华为全球分析师大会期间,华为举办数据存储专场Session,面向全球分析师全面解读下一代数据存储解决方案OneStorage,引领数据存储产业迈向全场景智能和多云融合.同时,在此 ...
- Spring4.x❶ 两大核心之IOC
1 Spring? 2 IOC案例 2.1 配置文件方法 2.2 注解方法 2.3 配置文件与注解一起使用 3 代码案例可参考: 更多Spring开发在框架开发 1 Spring? Spring是开源 ...
- 奇虎360归程大起底:终极猎手露面 平行入股两大核心平台
资料图 上证报记者最新获悉,奇虎360私有化的两大平台(SPV)--天津奇信志成科技有限公司.天津奇信通达科技有限公司已于日前完成增资手续,估值分别达40亿美元和117亿美元.除奇虎360董事长周鸿祎 ...
最新文章
- 自动挂载配置本地yum源
- yum update不升级内核方法
- java trace优化_使用Arthas trace定位并优化接口响应慢的问题.md
- linux操作这样用视频,Linux下使用mencoder对视频进行操作
- PHP文件上传类及其使用实例教程
- ###《Effective STL》--Chapter2
- 终于把结婚照片做成了MTV
- 零基础应该先学习 java、php、前端 还是 python?
- SecureCRT无法使用root账户远程连接ubuntu
- libsvm——数据格式的转换及使用
- 【车载音乐】数10G车载音乐包,MP3高品质无损音乐素材合集
- php 深度验证18位身份证是否正确,并获取地址,出生日期(时间戳),性别。
- 进程管理API之find_get_pid
- 【计算机视觉与深度学习 北京邮电大学 鲁鹏 视频笔记】1. 线性分类器
- 1一9数字行书写法_数字1-9的标准写法-1~9的书写格式
- 修复鼠标右键没有vscode快捷入口的问题
- Nexus升级、license安装和恢复密码
- Springboot集成第三方登录(facebook,linkedin,github)
- 人脸识别技术开发解决方案,人脸识别智慧校园应用开发
- 秘密共享(Secret Sharing,SS)