《hadoop权威指南》阅读记录

来源:互联网 发布:java金融项目技术难点 编辑:程序博客网 时间:2024/05/30 04:58

第一章  初识hadoop

 

hadoop提供了一个可靠的共享存储和分析系统。HDFS实现存储,而MapReduce实现分析处理。这两部分是它的核心功能。

为什么需要MapReduce?   :磁盘的另一个发展趋势,寻址时间的提高远远慢于传输速率的提高。

传统关系型数据库,使用的数据结构,B-树。

MapReduce适合的情形:一次写入、多次读取数据的应用,而关系数据库更适合持续更新的数据集。

MapReduce对于非结构化或半结构化数据非常有效,因为在处理数据时才对数据进行解释。

MapReduce会尽量在计算节点上存储数据,数据本地化特性,是其核心特征。

在大规模分布式计算环境下,协调各进程间的执行是一个很大的挑战,最困难的是合理地处理系统部分失效问题——在不知道一个远程进程是否已失效的情况下——同时还需要继续完成整个计算。

由于采用了无共享框架,所以MapReduce才能够实现失败检测,这意味着各个任务之间彼此独立。

HBase是一个分布式、按列存储数据库,使用HDFS作为底层存储,同时支持MapReduce的批量计算和点查询(随机读取)。

 

第二章  关于MapReduce

 

数据流,有两类节点控制着作业执行过程:一个jobtracker及一系列tasktracker,前者通过调度后者上运行的任务,来协调所有运行在系统上的作业。后者在运行任务的同时将运行进度报告发送给前者,前者由此记录每项作业任务的整体进度情况。

对于大多数作业来说,一个合理的分片大小趋向于HDFS的一个块的大小,默认是64MB ——数据本地化优化。

集群上的可用带宽限制了MapReduce作业的数量,因此最重要的一点是尽量避免map任务和reduce任务之间的数据传输。

 

原创粉丝点击