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.第2版》是一本专注于Hadoop技术的权威著作,全面而深入地探讨了这个分布式计算框架的各个方面。Hadoop是Apache软件基金会的一个开源项目,旨在提供一个可扩展、可靠且分布式存储和处理大数据的平台...
《深入理解Hadoop》这本书是Hadoop学习者的宝贵资源,它深入解析了Hadoop的核心组件,包括HDFS、MapReduce和YARN等。通过阅读书中的源码,我们可以更直观地理解这些分布式计算和存储系统的工作原理,这对于优化...
《深入理解Hadoop 第2版》是一本专为IT专业人士准备的深度学习Hadoop技术的书籍,它旨在帮助读者全面掌握Hadoop生态系统的核心概念、架构和应用。Hadoop是大数据处理领域的重要工具,其分布式计算框架使得大规模数据...
总之,对于Windows上的Hadoop开发,理解和配置winutils.exe及hadoop.dll至关重要。它们是连接Windows环境和Hadoop生态系统的关键桥梁,使得开发者能够在非Linux环境中充分利用Hadoop的功能。为了顺利进行Hadoop开发...
《深入理解Hadoop》这本书是Hadoop学习者的宝贵资源,它不仅涵盖了Hadoop生态系统的各个重要组件,还深入探讨了分布式计算的基础理论。Hadoop作为大数据处理的核心框架,其重要性不言而喻,尤其在处理海量数据时,它...
在使用Hadoop进行大数据分析时,理解这些基础组件的工作原理和如何正确配置它们对于成功运行Hadoop任务至关重要。例如,开发人员可能需要使用Winutils.exe来获取HDFS上的文件信息,或者通过hadoop.dll来实现数据的...
《深入理解Hadoop》是Hadoop技术领域的一本经典之作,源自英文版的《Pro Apache Hadoop》。这本书深入解析了Hadoop的核心组件及其工作原理,对于开发者和数据工程师来说,是一份宝贵的参考资料。源码的提供使得读者...
【标题】"基于Hadoop的个人云盘"项目是一个利用Hadoop分布式框架构建的个人存储解决方案,它将人工智能技术融入其中,以实现高效、安全的数据管理和检索。在现代数字化时代,个人数据量日益增长,传统的单机存储方式...
Hadoop是一个开源的分布式计算框架,由Apache基金会开发,它主要设计用于处理和存储大量数据。...理解DLL文件的工作原理以及如何在Hadoop生态系统中配置和管理它们,是成功部署和使用Hadoop的关键。
在IT行业中,Hadoop是一个...理解它们的作用和配置方法对于在Windows上部署和管理Hadoop集群至关重要。这两个文件的提供使得开发者和数据工程师能够在Windows平台上充分利用Hadoop的强大功能,进行大数据分析和处理。
这个压缩包文件包含的"hadop实用案例"很可能是为了帮助初学者理解和应用Hadoop技术。以下是关于Hadoop的一些核心知识点,以及可能在这些实例中涉及的内容。 1. **Hadoop架构**:Hadoop主要由两个核心组件构成,HDFS...
书中可能详细介绍了Hadoop的安装与配置过程,包括集群搭建、硬件需求、网络配置等,这对于理解和部署Hadoop环境至关重要。此外,还会涉及YARN(Yet Another Resource Negotiator),它是Hadoop的资源管理系统,负责...
《深入理解Hadoop第2版》 完整版带目录。 分享给需要的朋友
HDFS的基本操作包括文件的上传、下载、查看、删除等,学习这些操作对于理解和管理Hadoop集群至关重要。在实际应用中,HDFS允许用户处理PB级别的数据,非常适合大数据存储。 3. **Web日志分析**:通过对Web服务器的...
在Hadoop生态系统中,Windows平台上的开发和运行通常比Linux环境更为复杂,因为Hadoop主要设计...不过,对于新手来说,理解并正确配置这些组件可能会有一定的挑战,因此建议参考官方文档或在线教程来获取更详细的指导。
在大数据处理领域,Hadoop是一个不可或缺的开源框架,它提供了分布式存储和计算的能力。本文将详细探讨与"Hadoop.dll"和"winutils.exe"相关的知识点,以及它们在Hadoop-2.7.1版本中的作用。 Hadoop.dll是Hadoop在...
在开发和调试过程中,这个文件对于理解Hadoop接口和检查函数调用的正确性非常有用。 然后,winutils.exe是Hadoop在Windows上的实用工具集,它提供了类似于Linux环境下hadoop命令的功能。例如,它能够管理HDFS的文件...
Hadoop 是一个处理、存储和分析海量的分布式、非结构化数据的开源框架。最初由 Yahoo 的工程师 Doug Cutting 和 Mike Cafarella Hadoop 是一个处理、存储和分析海量的分布式、非结构化数据的开源框架。最初由 Yahoo...