自零自学Hadoop(01):认识Hadoop

   

本文版权归mephisto和博客园共有,欢迎转载,但得保留这个段子声明,并受有本和链接,谢谢合作。

文章是哥哥(mephisto)写的,SourceLink

阅读目录

  • Hadoop
  • 色来
  • 优点
  • 骨干架构
  • 开源实现
  • 子项目
  • HDFS流程图
  • 多重索引

正文版权归mephisto和博客园共有,欢迎转载,但不能不保留这个段子声明,并被闹原来和链接,谢谢合作。

章是哥哥(mephisto)写的,SourceLink

 

  我是一个做事于多年屡屡底.net程序猿,最开始举行过ERP,这几乎年一直做监控、应急行业。从活的体系架构到代码编写,通通参与。认识及作为一个圆的监察生态环境,对收集的数的拍卖也死关键。采集的数码只有挖掘了才可能提供有价之提议或利益输出。认识及独的windows平台的贫,也想放多平台的混搭,但由于没玩了Linux,还是略微前怕狼后怕虎的,怕力不从心。一个干技术的恐惧一个事物之早晚,他恐怕就是无可奈何在是事物上腾飞了,为了抬高自己的技能途径,决定由零自学Hadoop。确实难度比较坏,但产生矣靶,一步步尽起来便是了。而且,不管结果如何,还是得从中学到广大美平台的技能知识。能模仿到物,我早已死满足了。

  下面的牵线,只是单搬运工,但为得给此系列由个头,大家勉强将就的看下吧。

Hadoop

    Hadoop是一个由于Apache基金会所支付的分布式系统基础架构。

     
用户可以当匪了解分布式底层细节之气象下,开发分布式程序。充分利用集群的威力进行快速运算和贮。

      Hadoop实现了一个分布式文件系统(Hadoop Distributed File
System),简称HDFS。HDFS有高容错性的特征,并且计划用来安排于物美价廉的(low-cost)硬件上;而且它提供高吞吐量(high
throughput)来走访应用程序的数,适合那些具有超大数据集(large data
set)的应用程序。HDFS放宽了(relax)POSIX的求,可以以流的形式拜访(streaming
access)文件系统中之多少。

     
Hadoop的框架最中心之规划虽是:HDFS和MapReduce。HDFS为海量的数提供了蕴藏,则MapReduce为海量的数目提供了匡。

种自

  Hadoop由 Apache Software Foundation 公司让 2005
年秋天看成Lucene的子项目Nutch的同样片段专业引入。它面临长由
Google Lab 开发的 Map/Reduce 和 Google File
System(GFS) 的启发。

  2006 年 3 月份,Map/Reduce 和 Nutch Distributed File System (NDFS)
分别被纳入称为 Hadoop 的花色蒙。

  Hadoop原本来自于谷歌一样慢慢悠悠叫也MapReduce的编程模型包。谷歌的MapReduce框架可以将一个应用程序分解为博并行计算指令,跨大量之算计节点运行很了不起的数码集。使用该框架的一个杰出事例就是于网络数据上运行的搜索算法。Hadoop最初只有与网页索引有关,迅速发展成为分析好数量的领先平台。

 

优点

  Hadoop是一个可知针对大量数进行分布式处理的软件框架。
Hadoop 以同样栽保险、高效、可伸缩的道进行数量处理。

  Hadoop
是十拿九稳的,因为它假设计算元素和贮会破产,因此她保护多独干活数据副本,确保能够对黄的节点重新布处理。

  Hadoop
是神速之,因为她以彼此的点子工作,通过并行处理增速处理速度。

  Hadoop 还是只是伸缩的,能够处理
PB 级数据。

  此外,Hadoop
依赖让社区服务,因此它们的工本较小,任何人都可以使用。

  Hadoop是一个能让用户轻松架构和以的分布式计算阳台。用户可以轻松地在Hadoop上开以及运行处理海量数据的应用程序。它要有以下几单亮点:

    1. 高可靠性。Hadoop按个存储和拍卖多少的力量值得人们相信。

    2. 赛扩展性。Hadoop是于可用之微机集簇间分配数据并形成计算任务之,这些集簇可以一本万利地扩张至数以千计的节点受到。

    3. 高效性。Hadoop能够以节点内动态地活动数据,并包各个节点的动态平衡,因此处理速度非常快。

    4. 高容错性。Hadoop能够活动保存数据的大多个副本,并且会自动将黄的职责重新分配。

    5. 低成本。与一体机、商用数据仓库以及QlikView、Yonghong
      Z-Suite等数会相比,hadoop是开源的,项目的软件成本因此会大大降低。

  Hadoop带有用Java言语编写的框架,因此运行在
Linux 生产平台上是非常良好的。Hadoop
上之应用程序否得下外语言编写,比如
C++。

  hadoop大数据处理的含义

  Hadoop得以于大数目处理下中常见采取得益于那个自己在数量提取、变形与加载(ETL)方面达成的生优势。Hadoop的分布式架构,将颇数目处理引擎尽可能的濒临存储,对如像ETL这样的批处理操作相对合适,因为接近这样操作的批处理结果可以一直走向存储。Hadoop的MapReduce功能实现了拿单个任务打碎,并以零散任务(Map)发送到多单节点上,之后再次盖单个数据集的款式加载(Reduce)到数据仓库里。

 

骨干架构

图片 1

图片 2

  Hadoop 由许多要素结合。其无与伦比底部是 Hadoop Distributed File
System(HDFS),它存储 Hadoop
集众多中持有存储节点上的文件。HDFS(对于本文)的齐同样重叠是MapReduce
引擎,该引擎由 JobTrackers 和 TaskTrackers
组成。通过对Hadoop分布式计算平台最基本之分布式文件系统HDFS、MapReduce处理过程,以及数据仓库工具Hive和分布式数据库Hbase的牵线,基本涵盖了Hadoop分布式平台的有所术中心。

HDFS

  对外表客户机而言,HDFS虽像一个传统的分别文件系统。可以创建、删除、移动或重命名文本,等等。但是
HDFS 的架是根据相同组特定的节点构建的(参见图
1),这是由它们自身之特征决定的。这些节点包括 NameNode(仅一个),它于
HDFS 内部供元数据服务;DataNode,它呢 HDFS
提供仓储块。由于只有设有一个 NameNode,因此就是 HDFS
的一个缺点(单点失败)。

  存储在 HDFS
中之文书为剪切成块,然后拿这些块复制到差不多个电脑中(DataNode)。这跟俗的
RAID 架构大不相同。块的尺寸(通常也
64MB)和复制的片数量在创造文件时出于客户机决定。NameNode
可以操纵所有文件操作。HDFS 内部的有所通信都基于专业的
TCP/IP 协议。

NameNode

  NameNode 是一个一般性在
HDFS
实例中的独机器及运行的软件。它负责管理文件系统名称空间跟操纵表客户机的走访。NameNode
决定是否用文件映射到 DataNode 上之复制块上。对于极端广泛的 3
个复制块,第一个复制块存储在同一机架的两样节点上,最后一个复制块存储在不同机架的某某节点上。注意,这里需要你了解集群架构。

  实际的 I/O事务并从未经过
NameNode,只有表示 DataNode 和片的文件映射的初数据经过
NameNode。当外部客户机发送请求要求创建文件时,NameNode
会以块标识以及该块的第一单副本的 DataNode IP 地址作为响应。这个 NameNode
还会见通报任何即将接收该块的副本的 DataNode。

  NameNode 于一个叫作 FsImage
的文件被贮存所有有关文件系统称空间的音信。这个文件以及一个含有工作的记录文件(这里是
EditLog)将积存于 NameNode 的地头文件系统上。FsImage 和 EditLog
文件呢欲复制副本,以防文件损坏或 NameNode 系统丢失。

  NameNode本身不可避免地有所SPOF(Single Point Of
Failure)单点失效的高风险,主备模式并无能够化解这个题材,通过Hadoop
Non-stop namenode才会促成100% uptime可用时。

DataNode

  DataNode 也是一个通常以
HDFS实例中之独门机器及运行的软件。Hadoop
集群包含一个 NameNode 和大量 DataNode。DataNode
通常以机架的样式组织,机架通过一个交换机以享有系统连接起来。Hadoop
的一个如是:机架内部节点里的传输速度快让机架间节点的传输速度。

  DataNode 响应来自 HDFS 客户机的读写请求。它们还应来自 NameNode
的开创、删除和复制块的指令。NameNode 依赖来自每个 DataNode
的定期心跳(heartbeat)消息。每条消息还蕴涵一个块报告,NameNode
可以因此报告验证块映射和任何文件系统元数据。如果 DataNode
不克发送心跳消息,NameNode
将利用修复措施,重新复制在拖欠节点上掉的片。

 

开源实现

  Hadoop是种类的总称。主要是由HDFS和MapReduce组成。

  HDFS是Google File System(GFS)的开源实现。

  MapReduce是Google MapReduce的开源实现。

  这个分布式框架很有创造性,而且产生特大的扩展性,使得Google在系吞吐量达到起充分充分之竞争力。因此Apache基金会用Java实现了一个开源版本,支持Fedora、Ubuntu等Linux平台。雅虎和硅谷风险投资公司Benchmark
Capital
联合建立一寒叫也Hortonworks的初企业,接管被广泛应用的数额解析软件Hadoop的开销工作。

  Hadoop实现了HDFS文件系统和MapRecue。用户如继续MapReduceBase,提供独家实现Map和Reduce的个别独八九不离十,并报Job即可自行分布式运行。

 

子项目

  Hadoop Common:
在0.20跟以前的本中,包含HDFS、MapReduce和另种类集体内容,从0.21始发HDFS和MapReduce被分手也单独的子项目,其余内容吧Hadoop
Common

  HDFS:
Hadoop分布式文件系统(Distributed
File System) - HDFS (Hadoop Distributed File System)

  MapReduce:并行计算框架,0.20面前用
org.apache.hadoop.mapred
旧接口,0.20本子开始引入org.apache.hadoop.mapreduce的新API

  HBase: 类似Google
BigTable的分布式NoSQL列数据库。(HBase和Avro已经被2010年5月改为一流
Apache 项目)

  Hive:数据仓库工具,由Facebook贡献。

  Zookeeper:分布式锁设施,提供类似Google
Chubby的成效,由Facebook贡献。

  Avro:新的多寡序列化格式和传输工具,将逐日取代Hadoop原有的IPC机制。

  Pig: 大数目解析平台,为用户提供多接口。

  Ambari:Hadoop管理工具,可以迅速的监控、部署、管理集群。

  Sqoop:于当HADOOP与民俗的数据库里展开数据的传递。

 

HDFS流程图

  图片 3


图片 4

铺天盖地索引

  【源】从零自学Hadoop系列索引

 

 

 

 

本文版权归mephisto和博客园共有,欢迎转载,但不能不保留这个段子声明,并吃来原来和链接,谢谢合作。

章是哥哥(mephisto)写的,SourceLink

 

网站地图xml地图