文档章节

Hadoop权威指南阅读笔记

蓝狐乐队
 蓝狐乐队
发布于 2014/04/12 23:38
字数 1360
阅读 211
收藏 11

1、MR和关系型数据

MR和传统的关系型数据库处理的数据是不同,传统关系型数据库处理的是较结构化数据,对于半结构化和非机构话数据处理的还不是很好,MR正好对关系型数据不擅长领域做了补充,MR输入的键值并不是数据的固有属性,而是由分析数据人员来选择的,就目前看来他们是互补的关系,MR通过HIVE实现了hadoop固有的SQL,不过mr的适应性更强一些,不过随着以后的发展关系型数据库也会慢慢不断发展的。另外一个值得注意的就是MR是基于数据流的数据处理,处理的是一种非结构化的数据,比SQL结构性数据更具有适用性,是这种编程更加具有伸缩性。

2、MR的核心是实现数据本地化,由于MR是基于数据流式处理,所以带宽资源就显得尤为重要。

3、由于MR采用的是无共享的框架,各节点之间都是相对独立的,所以MR可以检测出节点失败的情况,在MR过程中,R阶段是要以M的结果为输入的,所以如果R没有获取到M的结果的时候会重新执行。在MR过程中,R的output输出目录是不能存在的,否则无法执行,一个长时间执行后的结果被覆盖是一件很懊恼的事情。

4、MR过程中有两个很重要的角色JobTracker和TaskTracker,可以打个比喻,J相当于管理员(负责分配任务),管理者一批员工T(负责执行任务),员工执行任务要从J那边得到任务编号才可以进行任务执行。

5、hadoop将输入数据分成等长的数据分片,每一个分片都是一个map任务,并由用户自定义的函数MR来处理分片中的的每一条记录。

6、决定整个作业时间的主要因素分为两种1、管理分片的时间2、map创建任务的时间

7、数据本地优化,各节点执行map,各个节点存有的数据分片越趋向于HDFS分块可以获得最佳性能,这样确保了单个节点的最大输出块。输出块的大小根据硬件和集群的实际情况而定,磁盘的读取量。R阶段并不具备本地化的优势,他的输入通常是来自M的结果,因此需要通过网络进行传输发送到任务R节点上,这里就涉及到带宽问题了,因为我们应该尽量减少M向R的输入,通过一些其他的手段如COMBINER或者并行输入或者通过压缩数据流的手段等。

8、hadoop目前不适用的场景 1、低时间延迟的 可以考虑Storm 或者Spark 2、大量小文件,主要原因是所有的数据块元数据信息都存放在namenode文件夹下,这样大量的小文件会造成namenode文件内存被占用 3、多用户写入,任意修改的,因为hadoop设计的初衷是为了一次写入,多次读取的。

9、HDFS的数据块大于磁盘的块是为了减少寻址。

10、namenode管理着所有datanode的域名空间,他维护着文件系统及整棵树的文件目录,这些信息被永久的保存在本地磁盘上,namenode也记录着各个节点的数据信息,但是他并不保存在本地磁盘上,随着每次重启都要重构节点信息。更要命的是namenode是单节点,一个集群只有一个namenode所以一旦namenode出现问题,整个集群瘫痪了,如果使用keepalived的话,可以作为辅助节点,但是难免还是会有数据的丢失。据说hadoop2.x已经解决了这个问题。

11、HDFS客户端通过DistributedFileSystem 获得一个FsDataInputStream对象,从na

menode那里获取到datanode的文件位置信息。DFSoutputStream处理datanode和namenode之间的通信。 

12、一致模型:在读取数据的时候,FSDdataoutputstream得到的数据是按块来显示的就是说,块在读取的时候不能立即显示需要等该块读完了,这样就造成了数据缓存,一旦集群发生故障数据块丢失生产环境下是不允许的,HDFS提供了一个方法来强制所有的缓存与数据节点保持同步即对FSDataOutPutStream调用sync(),能保证到目前为止写入数据的一致性,不过这样会对应用增加一些额外的性能开销,所以引用该方法还需要根据集群性能的均衡而定。

13、并行复制,典型的应用就是两个HDFS之间的传输,该方法可以从hadoop文件系统复制大量的数据,也可以将大量数据从hadoop复制出来。这里我们可以优化尽量的减少MAP构建,尽量让他多复制。

© 著作权归作者所有

蓝狐乐队
粉丝 106
博文 322
码字总数 89813
作品 0
昌平
程序员
私信 提问
Hadoop权威指南阅读笔记(三)

hadoop的序列化机制与java的序列化机制不同,他将对象序列化到流中,值得一提的是java的序列化机制是不断的创建对象,但在Hadoop的序列化机制中,用户可以服用对象这样就减少了java对象的分配...

蓝狐乐队
2014/04/27
115
0
速度收藏 | 100+篇大数据、数据分析、数据挖掘电子书免费下载!

全部都是电子书,根据书名点击进去即可进入下载页面,不用谢我,请叫我“雷锋” SQL电子书 SQL必知必会 R语言电子书 《R语言实战》 《R语言与统计建模》 《统计学与R读书笔记》 《R实践运用》...

勿忘初心321
2016/09/07
253
0
Hadoop资源共享啦

Hadoop资源共享啦!上个暑假,将《Hadoop权威指南》认真看了一遍,看的是第二版。给我最深的体味就是这本书将理论讲得很深入全面、并将理论提 升到了实践,比如说,书中给出了很多处理气象暑假...

liunkor
2013/09/12
309
1
2016年度读书单

2016年01月01日 《HBase 管理指南》 2016年01月04日 《Hadoop技术详解》 2016年02月28日 《hive编程指南》 2016年03月13日 《Java并发编程》 2016年05月02日 《大型分布式网站架构设计与实践...

Ryan-瑞恩
2015/12/31
123
0
Hadoop权威指南第二天笔记

书里面一个简单的例子是一年的最高温度 1、首先是map函数:有点疑问为啥map方法必须输入键和值 public class MaxTemperatureMapper extends MapReduceBase implements Mapper<LongWritable,T...

任杰LL
2016/03/10
90
0

没有更多内容

加载失败,请刷新页面

加载更多

java通过ServerSocket与Socket实现通信

首先说一下ServerSocket与Socket. 1.ServerSocket ServerSocket是用来监听客户端Socket连接的类,如果没有连接会一直处于等待状态. ServetSocket有三个构造方法: (1) ServerSocket(int port);...

Blueeeeeee
今天
6
0
用 Sphinx 搭建博客时,如何自定义插件?

之前有不少同学看过我的个人博客(http://python-online.cn),也根据我写的教程完成了自己个人站点的搭建。 点此:使用 Python 30分钟 教你快速搭建一个博客 为防有的同学不清楚 Sphinx ,这...

王炳明
昨天
5
0
黑客之道-40本书籍助你快速入门黑客技术免费下载

场景 黑客是一个中文词语,皆源自英文hacker,随着灰鸽子的出现,灰鸽子成为了很多假借黑客名义控制他人电脑的黑客技术,于是出现了“骇客”与"黑客"分家。2012年电影频道节目中心出品的电影...

badaoliumang
昨天
15
0
很遗憾,没有一篇文章能讲清楚线程的生命周期!

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 简介 大家都知道线程是有生命周期,但是彤哥可以认真负责地告诉你网上几乎没有一篇文章讲得是完全正确的。 ...

彤哥读源码
昨天
15
0
jquery--DOM操作基础

本文转载于:专业的前端网站➭jquery--DOM操作基础 元素的访问 元素属性操作 获取:attr(name);$("#my").attr("src"); 设置:attr(name,value);$("#myImg").attr("src","images/1.jpg"); ......

前端老手
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部