`

Hadoop名词个人理解

 
阅读更多

2012-05-16

 

关于业务流程

把一次分布式计算看成是农业的生产过程,hadoop则是一种生产解决方案。

     Map:播种的阶段,最后会产出粮食的粗制产品。看做是执行培养活动的农田。

     Combiner:顾名思义,联合收割机。把粗制产品收割,然后打包起来等待加工。可以提高加工阶段的效率,当然可以不选择使用。每个农田里用各自的收割机,没听说过一台收割机打遍天下。

Shuffle: 直译叫洗牌。在这个世界观里,可以认为从农田按照类别(key)分发到不同加工单位的过程。

     Reduce:加工阶段,将粗制的农产品加工成真正的粮食产品,也就是解决方案的最终成果。看做是农产品加工厂。

 


关于物理结构

     针对HDFS的领域,有三个概念:Name-Node(命名节点)、Data-Node(数据节点)、Secondary Name-Node(次级命名节点)。把HDFS看做使用一种工头-苦工的模式进行工作的搬运码头,整个文件系统就是这个码头,文件就是货物。

      命名节点就是工头,负责苦工的点名和指派工作(维护文件树的文件和索引)。

      数据节点就是参与工作的苦工们。苦工们的工作就是搬运物资(存储文件和接受访问)。

      苦工每隔一段时间要向工头汇报工作及其分管的货物的状态,这种行为称之为Heartbeat(心跳)。一旦工头发现苦工没有心跳了,就会要求苦工重新恢复,或者寻求数据的重新备份。

      第二命名节点听起来像是第二号工头的样子,却没有工头的职责。他会不断的备份工头的数据(命名空间镜像)。如果工头挂掉了,我们可以手动提升它为工头,以继续系统工作。由于这种备份存在滞后性,因此损失在所难免。

      这种模式的弊端在于一旦工头挂掉,整个系统就失效,如果没有备份,则连恢复系统的机会都没有。两种方式来防止无可挽回的损失,一是命名节点不断在其他地方进行持久化操作;二是使用二级命名节点。

 


关于任务结构

     JobTracker:是协调作业运行的Java应用程序,负责创建、划分、分配任务。任务分为Map任务和Reduce任务。分配Map任务的时候会优先考虑数据的本地化(data local)特性,其次是数据同机架(rack local)的,最后是既非本地化又非同机架化,以提高效率;但分配Reduce任务不会有这方面考虑。

     TaskTracker:执行任务的Java应用程序,接受JobTracker的分配。

     BlackList: 在进行任务(不仅限一个任务)的过程中,某个TaskTracker节点往复的发生过N次(可配置)任务失败状况,将导致JobTracker将该TaskTracker节点写入BlackList(黑名单)。节点在被写入黑名单的时期,将不会再被JobTracker调用。除非节点被手动重启或者24小时之后被JobTracker自动赦免。【个人心得】发生黑名单情况很经常是因为硬盘被写爆了。

分享到:
评论

相关推荐

    深入理解Hadoop(第二版)

    本书详细地讲述了Hadoop生态圈中最为重要的几个组件。不仅介绍了Hadoop涉及的分布式理论基础知识,还着重讲解Hadoop系统的工程实践应用。为了深入浅出地讲述Hadoop各个组件的运行机理,作者使用了贴切的实战用例

    深入理解Hadoop.第2版

    《深入理解Hadoop.第2版》是一本专注于Hadoop技术的权威著作,全面而深入地探讨了这个分布式计算框架的各个方面。Hadoop是Apache软件基金会的一个开源项目,旨在提供一个可扩展、可靠且分布式存储和处理大数据的平台...

    深入理解Hadoop 书中源码

    《深入理解Hadoop》这本书是Hadoop学习者的宝贵资源,它深入解析了Hadoop的核心组件,包括HDFS、MapReduce和YARN等。通过阅读书中的源码,我们可以更直观地理解这些分布式计算和存储系统的工作原理,这对于优化...

    深入理解Hadoop 第2版 2

    《深入理解Hadoop 第2版》是一本专为IT专业人士准备的深度学习Hadoop技术的书籍,它旨在帮助读者全面掌握Hadoop生态系统的核心概念、架构和应用。Hadoop是大数据处理领域的重要工具,其分布式计算框架使得大规模数据...

    hadoop winutils hadoop.dll

    总之,对于Windows上的Hadoop开发,理解和配置winutils.exe及hadoop.dll至关重要。它们是连接Windows环境和Hadoop生态系统的关键桥梁,使得开发者能够在非Linux环境中充分利用Hadoop的功能。为了顺利进行Hadoop开发...

    深入理解hadoop

    《深入理解Hadoop》这本书是Hadoop学习者的宝贵资源,它不仅涵盖了Hadoop生态系统的各个重要组件,还深入探讨了分布式计算的基础理论。Hadoop作为大数据处理的核心框架,其重要性不言而喻,尤其在处理海量数据时,它...

    hadoop2.7.3 Winutils.exe hadoop.dll

    在使用Hadoop进行大数据分析时,理解这些基础组件的工作原理和如何正确配置它们对于成功运行Hadoop任务至关重要。例如,开发人员可能需要使用Winutils.exe来获取HDFS上的文件信息,或者通过hadoop.dll来实现数据的...

    深入理解hadoop-源码

    《深入理解Hadoop》是Hadoop技术领域的一本经典之作,源自英文版的《Pro Apache Hadoop》。这本书深入解析了Hadoop的核心组件及其工作原理,对于开发者和数据工程师来说,是一份宝贵的参考资料。源码的提供使得读者...

    基于hadoop的个人云盘.zip

    【标题】"基于Hadoop的个人云盘"项目是一个利用Hadoop分布式框架构建的个人存储解决方案,它将人工智能技术融入其中,以实现高效、安全的数据管理和检索。在现代数字化时代,个人数据量日益增长,传统的单机存储方式...

    hadoop的dll文件 hadoop.zip

    Hadoop是一个开源的分布式计算框架,由Apache基金会开发,它主要设计用于处理和存储大量数据。...理解DLL文件的工作原理以及如何在Hadoop生态系统中配置和管理它们,是成功部署和使用Hadoop的关键。

    hadoop2.7.3的hadoop.dll和winutils.exe

    在IT行业中,Hadoop是一个...理解它们的作用和配置方法对于在Windows上部署和管理Hadoop集群至关重要。这两个文件的提供使得开发者和数据工程师能够在Windows平台上充分利用Hadoop的强大功能,进行大数据分析和处理。

    hadoop几个实例

    这个压缩包文件包含的"hadop实用案例"很可能是为了帮助初学者理解和应用Hadoop技术。以下是关于Hadoop的一些核心知识点,以及可能在这些实例中涉及的内容。 1. **Hadoop架构**:Hadoop主要由两个核心组件构成,HDFS...

    Hadoop技术详解.Hadoop Operation

    书中可能详细介绍了Hadoop的安装与配置过程,包括集群搭建、硬件需求、网络配置等,这对于理解和部署Hadoop环境至关重要。此外,还会涉及YARN(Yet Another Resource Negotiator),它是Hadoop的资源管理系统,负责...

    《深入理解Hadoop第2版》 完整版

    《深入理解Hadoop第2版》 完整版带目录。 分享给需要的朋友

    Hadoop简单应用案例

    HDFS的基本操作包括文件的上传、下载、查看、删除等,学习这些操作对于理解和管理Hadoop集群至关重要。在实际应用中,HDFS允许用户处理PB级别的数据,非常适合大数据存储。 3. **Web日志分析**:通过对Web服务器的...

    hadoop2.6.5中winutils+hadoop

    在Hadoop生态系统中,Windows平台上的开发和运行通常比Linux环境更为复杂,因为Hadoop主要设计...不过,对于新手来说,理解并正确配置这些组件可能会有一定的挑战,因此建议参考官方文档或在线教程来获取更详细的指导。

    hadoop.dll & winutils.exe For hadoop-2.7.1

    在大数据处理领域,Hadoop是一个不可或缺的开源框架,它提供了分布式存储和计算的能力。本文将详细探讨与"Hadoop.dll"和"winutils.exe"相关的知识点,以及它们在Hadoop-2.7.1版本中的作用。 Hadoop.dll是Hadoop在...

    hadoop调试工具hadoop.dll和hadoop.exp和winutils.exe

    在开发和调试过程中,这个文件对于理解Hadoop接口和检查函数调用的正确性非常有用。 然后,winutils.exe是Hadoop在Windows上的实用工具集,它提供了类似于Linux环境下hadoop命令的功能。例如,它能够管理HDFS的文件...

    Hadoop下载 hadoop-2.9.2.tar.gz

    Hadoop 是一个处理、存储和分析海量的分布式、非结构化数据的开源框架。最初由 Yahoo 的工程师 Doug Cutting 和 Mike Cafarella Hadoop 是一个处理、存储和分析海量的分布式、非结构化数据的开源框架。最初由 Yahoo...

Global site tag (gtag.js) - Google Analytics