一、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相关推荐

  1. BigData之Hadoop:Hadoop框架(分布式系统基础架构)的简介(两大核心【HDFS存储和MapReduce计算】)、深入理解、下载、案例应用之详细攻略

    BigData之Hadoop:Hadoop框架(分布式系统基础架构)的简介(两大核心[HDFS存储和MapReduce计算]).深入理解.下载.案例应用之详细攻略 目录 Hadoop的简介(分布式系统 ...

  2. hadoop的两大核心之一:HDFS总结

    2019独角兽企业重金招聘Python工程师标准>>> hadoop的两大核心之一 海量数据的存储(HDFS) 什么是HDFS? hadoop distributed file sy ...

  3. 游戏行业两大核心问题:数据挖掘与安全

    4月19-21日的2016云栖大会深圳峰会,有前沿技术深度分享.Workshop阿里云开放实验室.行业企业聚会.Tech Insight实战干货,更有20+场分论坛,120+高浓度实战演讲,100+阿 ...

  4. Java轻量级业务层框架Spring两大核心IOC和AOP原理

    IoC(Inversion of Control): IOC的基本概念是:不创建对象,但是描述创建它们的方式.在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务.容器负责将这些 ...

  5. 【JAVAEE框架】浅谈 Spring 框架的两大核心思想 AOP 与 IOP

    哈喽~大家好呀,这篇来看看Spring 框架的两大核心思想.

  6. Spring框架两大核心特征的基本理解

    Spring框架的两大核心特征:AOP和IoC IoC(控制反转)是Spring的一个容器,他不是一种技术,而是一种思想,依旧是基于面向对象编程的.它能指导我们怎么样设计出松耦合.更优良的程序. 简单 ...

  7. 四大“化学融合”、两大核心平台能力,华为首次系统解读OneStorage

    4月14日,在2021华为全球分析师大会期间,华为举办数据存储专场Session,面向全球分析师全面解读下一代数据存储解决方案OneStorage,引领数据存储产业迈向全场景智能和多云融合.同时,在此 ...

  8. Spring4.x❶ 两大核心之IOC

    1 Spring? 2 IOC案例 2.1 配置文件方法 2.2 注解方法 2.3 配置文件与注解一起使用 3 代码案例可参考: 更多Spring开发在框架开发 1 Spring? Spring是开源 ...

  9. 奇虎360归程大起底:终极猎手露面 平行入股两大核心平台

    资料图 上证报记者最新获悉,奇虎360私有化的两大平台(SPV)--天津奇信志成科技有限公司.天津奇信通达科技有限公司已于日前完成增资手续,估值分别达40亿美元和117亿美元.除奇虎360董事长周鸿祎 ...

最新文章

  1. 自动挂载配置本地yum源
  2. yum update不升级内核方法
  3. java trace优化_使用Arthas trace定位并优化接口响应慢的问题.md
  4. linux操作这样用视频,Linux下使用mencoder对视频进行操作
  5. PHP文件上传类及其使用实例教程
  6. ###《Effective STL》--Chapter2
  7. 终于把结婚照片做成了MTV
  8. 零基础应该先学习 java、php、前端 还是 python?
  9. SecureCRT无法使用root账户远程连接ubuntu
  10. libsvm——数据格式的转换及使用
  11. 【车载音乐】数10G车载音乐包,MP3高品质无损音乐素材合集
  12. php 深度验证18位身份证是否正确,并获取地址,出生日期(时间戳),性别。
  13. 进程管理API之find_get_pid
  14. 【计算机视觉与深度学习 北京邮电大学 鲁鹏 视频笔记】1. 线性分类器
  15. 1一9数字行书写法_数字1-9的标准写法-1~9的书写格式
  16. 修复鼠标右键没有vscode快捷入口的问题
  17. Nexus升级、license安装和恢复密码
  18. Springboot集成第三方登录(facebook,linkedin,github)
  19. 人脸识别技术开发解决方案,人脸识别智慧校园应用开发
  20. 秘密共享(Secret Sharing,SS)

热门文章

  1. 微信群裂变引流文案技巧,这样写文案更吸引粉丝!
  2. python csv 大文件_python 快速把超大txt文件转存为csv的实例
  3. 白色恋人--18首扣人心弦的经典情歌
  4. 有关获取android唯一识别号IMEI的问题
  5. java向kafka推送数据_Java kafka消息的发送与接收
  6. 全志D1-H裸奔工具XFEL
  7. 音频特征提取——常用音频特征
  8. 用JSP构建三层管理信息系统
  9. 【备忘】【不定时更新】那些有用有趣的网站君们~~
  10. 按键精灵-离线打包 免会员 免登录版 打包工具