原来Hadoop是这么回事

一、HDFS重要特性

1、master/slave架构,一个nameNode和多个dataNode组成,nameNode主节点,dataNode从节点;
2、分块存储(block,分布再不同的物理机上),block大小,根据配置设定大小,2.0默认128M;
3、nameNode存储元数据(目录结构和分块位置信息);
4、dataNode,存储数据块,并且定时向nameNode报告心跳(默认3秒)和块信息(默认6小时);
5、副本机制,保证数据的安全性,block都会有副本,一个block,默认三个,一个存储再client较近的dataNode,第二存储再同一rack 机架上,第三个存储再非同一rack机架上(我猜测,也是为了数据的安全,不同机架存储,数据更安全,鸡蛋放在不同篮子中楼)
6、一次写入,多次读取,不支持文件修改。
在这里插入图片描述

二、HDFS设计目标

1、HDFS有N多服务器组成,每台服务器都有可能挂掉,因此故障的检测和自动恢复是HDFS架构的核心目标;
2、主要以流式读取数据,适合批量处理,文件大小是GB到TB量级,而不是交互式的,相较于数据访问的反应时间,更注重数据访问的吞吐量;
3、移动计算的代价比移动数据的代价低,一个应用请求的计算,离它操作的数据越近越高效,达到海量级的时候更是如此,
4、再异构的硬件和软件平台上的可移植性,这将推动需要大数据集的应用更广泛地采用HDFS作为平台。

三、HDFR基本原理

1、nameNode概述
a、是HDFS的核心,master,仅存储元数据,文件系统中所有文件的目录树,并根据整个集群中的文件;
b、不存储实际数据或数据集,知道任何给定文件的块信息及其位置,但不持久化存储每个文件块所在的dateNode的位置信息,这些信息会在系统重启时从数据节点重建;
c、是hadoop集群的单点故障,出现故障 ,HDFS集群无法访问,所在机器配置大量内存;

2、dataNode概述
a、是slave,配置大量的硬盘空间,负责持久化数据块,与nameNode保持通信,启动时向nameNode汇报持有的所有块信息列表;
b、当关闭时,不影响数据的可用性,nameNode安排其他的dataNode管理块进行副本复制;
c、定期向nameNode汇报心跳和块信息;

四、MapReduce思想

1、核心思想,分而治之的思想,Map 负责分,Reduce负责合;
2、是一个分布式运算程序的编程框架,核心功能是将用户编写的业务逻辑代码和自带默认组件,整合成一个完成的分布式运算程序;
3、如何对付大数据处理,分而治之,对相互间不具有计算依赖关系的大数据,划分计算任务,进行并行计算;
4、统一架构,封装底层细节,业务程序开发,不考虑数据存储、划分、分发、结果收集、错误恢复等诸多细节,仅关心其应用层的具体计算问题;
5、 一个完成的mapReduce程序在分布式运行时有三类实例进程;
a、MRAppMaster,负责整个程序的过程调度及其状态协调控制;
b、MapTask,负责map阶段的整个数据处理流程;
c、ReduceTask,负责reduce阶段的整个数据处理流程;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

MRAppMaster编程规范

1、用户编写的程序分成三个部分,Mapper,Redcuer,Driver(提交运行mr程序的客户端)
2、Mapper的输入数据、输出数据是KV对的形式(KV的类型可自定义),业务逻辑在map()函数里实现,该函数对每一个<K,V>调用一次;
3、Redcuer的数据数据类型对应Mapper的输出数据类型,也是KV对,业务逻辑在redcue()函数中实现,ReduceTask进程对每一组相同的k的<K,V>组调用一次reduce()函数;
4、用户自定义的Mapper和Reducer都要继承各自的父类;
5、整个程序需要一个Driver来进行提交,提交的是一个描述了各种必要信息的job对象。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值