hadoop基本概念.pdf

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
hadoop基本概念

hadoop 基本概念 一、hadoop 基本概念 hadoop 包括两个核心组成: HDFS :分布式文件系统,存储海量的数据 MapReduce :并行处理框架,实现任务分解和调度。 整个 HDFS 三个重要角色:NameNode、DataNode 和 Client。NameNode 可以看作是分布式文件系统中的管理者,主要 负责管理文件系统的命名空间、集群配置信息和存储块的复制等。NameNode 会将文件系统的 Meta-data 存储在内存中, 这些信息主要包括了文件信息、每一个文件对应的文件块的信息和每一个文件块在 DataNode 的信息等。DataNode 是文件 存储的基本单元,它将 Block 存储在本地文件系统中,保存了 Block 的 Meta-data ,同时周期性地将所有存在的Block 信息 发送给 NameNode。Client 就是需要获取分布式文件系统文件的应用程序。 MapReduce 是现今一个非常流行的分布式计算框架,它被设计用于并行计算海量数据。第一个提出该技术框架的是 Google 公司,而 Google 的灵感则来自于函数式编程语言,如 LISP ,Scheme ,ML 等。MapReduce 框架的核心步骤主要分两部 分:Map 和 Reduce。当你向 MapReduce 框架提交一个计算作业时,它会首先把计算作业拆分成若干个 Map 任务,然 后分配到不同的节点上去执行,每一个 Map 任务处理输入数据中的一部分,当 Map 任务完成后,它会生成一些中间文件, 这些中间文件将会作为 Reduce 任务的输入数据。Reduce 任务的主要目标就是把前面若干个 Map 的输出汇总到一起并输 出。 二、hadoop 运行机制 关于 hadoop 的运行机制,这里由于笔者还没真正弄透彻,只是知道一个大致的处理思想。下面就贴几张比较形象的图片: HDFS : 文件写入: Client 向 NameNode 发起文件写入的请求。 1 / 10 NameNode 根据文件大小和文件块配置情况,返回给 Client 它所管理部分 DataNode 的信息。 Client 将文件划分为多个 Block ,根据DataNode 的地址信息,按顺序写入到每一个 DataNode 块中。 文件读取: Client 向 NameNode 发起文件读取的请求。 NameNode 返回文件存储的 DataNode 的信息。 Client 读取文件信息。 文件 Block 复制: NameNode 发现部分文件的 Block 不符合最小复制数或者部分 DataNode 失效。 通知 DataNode 相互复制 Block。 DataNode 开始直接相互复制。 MapReduce 工作原理: 一切都是从最上方的 user program 开始的,user program 链接了 MapReduce 库,实现了最基本的 Map 函数和 Reduce 函数。 MapReduce 库先把 user program 的输入文件划分为 M 份(M 为用户定义),每一份通常有 16MB 到 64MB ,如图左方 所示分成了 split0~4(文件块) ;然后使用fork 将用户进程拷贝到集群内其它机器上。 user program 的副本中有一个称为 master ,其余称为worker ,master 是负责调度的,为空闲 worker 分配作业(Map 作 业或 Reduce 作业),worker 数量可由用户指定的。 被分配了 Map 作业的 worker ,开始读取对应文件块的输入数据,Map 作业数量是由 M 决定的,和 split 一一对应;Map 2 / 10 作业(包含多个 map 函数)从输入数据中抽取出键值对,每一个键值对都作为参数传递给 map 函数,map 函数产生的中间键 值对被缓存在内存中。 缓存的中间键值对会被定期写入本地磁盘。主控进程知道 Reduce 的个数,比如 R 个(通常用户指定)。然后主控进程通常 选择一个哈希函数作用于键并产生 0~R-1 个桶编号。Map 任务输出的每个键都被哈希起作用,根据哈希结果将 Map 的结果 存放到 R 个本地文件中的一个(后来每个文件都会指派一个 Reduce 任务)。 master 通知分配了 Reduce 作业的 wo

文档评论(0)

xxj1658888 + 关注
实名认证
内容提供者

教师资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档