`
逆天子军少
  • 浏览: 77770 次
  • 性别: Icon_minigender_1
  • 来自: 安庆
社区版块
存档分类
最新评论

从技术角度入门Hadoop

阅读更多
Hadoop这个名字不是一个缩写,它是一个虚构的名字。该项目的创建者,Doug Cutting这样解释Hadoop的得名:"这个名字是我孩子给一个棕黄色的大象样子的填充玩具命名的。我的命名标准就是简短,容易发音和拼写,没有太多的意义,并且不会被用于别处。小孩子是这方面的高手。”

Hadoop是适合海量数据的分布式存储和计算平台。它可以用来处理比较小的只有几十K,几十M的数据,但显示不出高效性,甚至可能还不如传统的单虚拟机运行效率,所以Hadoop更适合处理TB数量级以上的数据。对于怎么理解分布式存储和计算,我们先来看一下Hadoop的架构图:


HDFS和Map/Reduce是核心组成,它们分别负责存储和计算。
一、HDFS
分布式文件系统,采用主从结构。存储在 HDFS 中的文件被分成块,然后将这些块复制到多个计算机中(DataNode)。这与传统的 RAID 架构大不相同。块的大小(预设 64MB)和复制的块数量在创建文件时由客户机决定。NameNode 可以控制所有文件操作。HDFS 内部的所有通信都基于标准的 TCP/IP 协议。HDFS 的架构是基于一组特定的节点构建的,只有一个主节点NameNode(NN)和多个从节点DataNode(DN)。解释一下NN和DN:

NN:主要功能是提供名称查询服务,是一个jetty服务器。
    --接受用户操作请求(例如读文件)
    --维护文件系统的目录结构
    --管理文件和block之间的关系,block与DN之间的关系
DN:--保存block
     --启动DN线程时会向NN汇报block信息
     --通过向NN发送心跳保持联系(3秒一次),如果NN10分钟没有收到DN的心跳,则认为其lost,并copy其上的block到其他DN。

此外,HDFS通过副本机制提高可靠度和读取吞吐量,block副本系数一般为3,放置策略:
第一个副本:放置在上传文件的DN,如果是集群外提交,则随机挑选一台磁盘不太满,CPU不太忙的节点;
第二个副本:放置在与第一个副本不同的机架的节点上;
第三个副本:与第二个副本相同集群的节点。

二、Map/Reduce
Map/Reduce是一个使用简易的软件框架,基于它写出来的应用程序能够运行在由上千个商用机器组成的大型集群上,并以一种可靠容错的方式并行处理上T级别的数据集。
Map/Reduce框架也是主从结构,由一个单独的master JobTracker 和每个集群节点一个slave TaskTracker共同组成。master负责调度构成一个作业的所有任务,这些任务分布在不同的slave上,master监控它们的执行,重新执行已经失败的任务。而slave仅负责执行由master指派的任务。(类似项目经理和程序员的上下级关系)

正因为HDFS和Map/Reduce的设计原则,Hadoop有了下面四个特点:
1.扩容能力:能可靠的存储和处理PB数据。
2.成本低:可以通过普通机器组成的服务器群来分发以及处理数据。这些服务器群总计可达数千个节点。
3:高效率:通过分发数据,Hadoop可以在数据所在的节点上并行处理。
4.可靠性:Hadoop能自动的维护数据的多份副本,并且在任务失败后能自动的重新部署计算任务。
  • 大小: 12.9 KB
2
1
分享到:
评论

相关推荐

    HADOOP实战,很实用

    从入门到实战,从多角度做了全面的修订和补充。不仅详细讲解了新一代的Hadoop技术,而且全面介绍了Hive、HBase、Mahout、Pig、ZooKeeper、Avro、Chukwa等重要技术,是系统学习Hadoop技术的首选之作

    OpenStack开源云王者归来:云计算、虚拟化、Nova、Swift、Quantum与Hadoop[2014.8].zip

    第3篇主要从源码剖析的角度讲解了Keystone、Swift、Quantum和Nova重要组件的设计思想与实现方法;第4篇介绍了如何利用OpenStack进行扩展开发,包括如何在OpenStack平台上搭建Hadoop,对Nova进行扩展,以及如何开发...

    OPENSTACK开源云王者归来:云计算、虚拟化、NOVA、SWIFT、QUANTUM与HADOOP

    第3篇主要从源码剖析的角度讲解了Keystone、Swift、Quantum和Nova重要组件的设计思想与实现方法;第4篇介绍了如何利用OpenStack进行扩展开发,包括如何在OpenStack平台上搭建Hadoop,对Nova进行扩展,以及如何开发...

    OpenStack开源云王者归来:云计算、虚拟化、Nova、Swift、Quantum与Hadoop[2014.8].z01

    第3篇主要从源码剖析的角度讲解了Keystone、Swift、Quantum和Nova重要组件的设计思想与实现方法;第4篇介绍了如何利用OpenStack进行扩展开发,包括如何在OpenStack平台上搭建Hadoop,对Nova进行扩展,以及如何开发...

    OpenStack开源云王者归来

    第3篇主要从源码剖析的角度讲解了Keystone、Swift、Quantum和Nova重要组件的设计思想与实现方法;第4篇介绍了如何利用OpenStack进行扩展开发,包括如何在OpenStack平台上搭建Hadoop,对Nova进行扩展,以及如何开发...

    Storm入门教程 之Storm原理和概念详解

    Storm流计算从入门到精通之技术篇(高并发策略、批处理事务、Trident精解、运维监控、企业场景) Storm入门教程 之Storm原理和概念详解,出自Storm流计算从入门到精通之技术篇,Storm入门视频教程用到技术:Storm集群...

    《OpenStack开源云王者归来》

    第3篇主要从源码剖析的角度讲解了Keystone、Swift、Quantum和Nova重要组件的设计思想与实现方法;第4篇介绍了如何利用OpenStack进行扩展开发,包括如何在OpenStack平台上搭建Hadoop,对Nova进行扩展,以及如何开发...

    OpenStack开源云王者归来.pdf

    第3篇主要从源码剖析的角度讲解了Keystone、Swift、Quantum和Nova重要组件的设计思想与实现方法;第4篇介绍了如何利用OpenStack进行扩展开发,包括如何在OpenStack平台上搭建Hadoop,对Nova进行扩展,以及如何开发...

    R的极客理想:工具篇,完整扫描版

    , 【名家推荐】, “近几年出版的关于R语言的书籍主要从统计学知识或编程语法等角度来写,张丹的《R的极客理想》以作者多年开发经验为素材,从工程角度描述了R语言的诸多让人兴奋的特性,以及R语言同其他主流开发环境...

    HBase视频教程下载|基于微博数据应用的HBase实战开发

    本教视从实战角度出来,向学员们手把手掌握HBase使用精髓,让学员达到如下目标: 1. 了解分布式存储的原理及架构。 2. 掌握如何使用HBase实现海量数据存储与检索。 3. 掌握HBase在开发中常见的技术大坑与调优技术...

    JavaWorld:【Java入门+Java自学指南】 一份Java程序员的自学清单,附详细教程

    我会从一名 Java 自学者的角度出发,去写这份教程,尽可能的通俗易懂,尽可能的言简意赅,尽可能地帮助更多初学者。大家可以关注我的或者加我的提建议(别忘记Star哟)。 目录(善用Ctrl+F) 注 : 没链接的是还没写(耐心...

    大数据概念介绍.pdf

    大数据的前景以及大数据在企业中的开发运用 大数据的前景以及在企业中的运用 编者话:这是一篇从大数据从业者角度看大数据的...所以没有过多地从技术层面分析大数据架构,而是从大数据工程师的实用的角度给出一些建议。

Global site tag (gtag.js) - Google Analytics