分布式计算开源框架Hadoop学习心得之1

来源:互联网 发布:淘宝商家资质中心 编辑:程序博客网 时间:2024/04/30 14:45

    HadoopApache开源组织的一个分布式计算开源框架,在很多大型网站上都已经得到了应用,如亚马逊、FacebookYahoo等等。对于我来说,最近的一个使用点就是服务集成平台的日志分析。服务集成平台的日志量将会很大,而这也正好符合了分布式计算的适用场景(日志分析和索引建立就是两大应用场景)。

    当前没有正式确定使用,所以也是自己业余摸索,后续所写的相关内容,都是一个新手的学习过程,出现错误请大家指正。

什么是Hadoop?

    Hadoop框架中最核心的设计就是:MapReduceHDFSMapReduce的思想是由Google的一篇论文所提及而被广为流传的,简单的一句话解释MapReduce就是任务的分解与结果的汇总HDFSHadoop分布式文件系统(Hadoop Distributed File System)的缩写,为分布式计算存储提供了底层支持。

    MapReduce从它名字上来看就大致可以看出个缘由,两个动词MapReduce“Map(展开)就是将一个任务分解成为多个任务,“Reduce”就是将分解后多任务处理的结果汇总起来,得出最后的分析结果。不论是现实社会,还是在程序设计中,一项工作往往可以被拆分成为多个任务,任务之间的关系可以分为两种:一种是不相关的任务,可以并行执行;另一种是任务之间有相互的依赖,先后顺序不能够颠倒,这类任务是无法并行处理的。就如同在学习操作系统时,老师让我们找的“关键路径”,无非就是找最省时的任务分解的执行方式。在分布式系统中,机器集群就可以看作硬件资源池,将并行的任务拆分,然后交由每一个空闲机器资源去处理,能够极大地提高计算效率,同时这种资源无关性,对于计算集群的扩展无疑提供了最好的设计保证。

原创粉丝点击