Hadoop 介绍

1.Hadoop简介


Hadoop[h?du:p]实现了一个分布式文件系统(Hadoop Distributed File
System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高传输率(high
throughput)来访问应用程序的数据,适合那些有着超大数据集(large data
set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。

诸多优点

Hadoop是一个能够对大量数据进行分布式处理的软件框架。但是 Hadoop 是以一种可靠、高效、可伸缩的方式进行处理的。

Hadoop 是可靠的,因为它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。

Hadoop 是高效的,因为它以并行的方式工作,通过并行处理加快处理速度。

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

此外,Hadoop 依赖于社区服务,因此它的成本比较低,任何人都可以使用。

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

高可靠性。Hadoop按位存储和处理数据的能力值得人们信赖。

高扩展性。Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。

高效性。Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。

高容错性。Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。

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

Hadoop带有用Java语言编写的框架,因此运行在 Linux 生产平台上是非常理想的。Hadoop 上的应用程序也可以使用其他语言编写,比如
C++。

hadoop大数据处理的意义

Hadoop得以在大数据处理应用中广泛应用得益于其自身在数据提取、变形和加载(ETL)方面上的天然优势。Hadoop的分布式架构,将大数据处理引擎尽可能的靠近存储,对例如像ETL这样的批处理操作相对合适,因为类似这样操作的批处理结果可以直接走向存储。Hadoop的MapReduce功能实现了将单个任务打碎,并将碎片任务发送(Map)到多个节点上,之后再以单个数据集的形式加载(Reduce)到数据仓库里。

2.架构

Hadoop 由许多元素构成。其最底部是 Hadoop Distributed File System[3](HDFS),它存储
Hadoop 集群中所有存储节点上的文件。HDFS(对于本文)的上一层是MapReduce 引擎,该引擎由 JobTrackers 和
TaskTrackers 组成。

3.集群系统

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]

4.开源实现

Hadoop 的最常见用法之一是 Web 搜索。虽然它不是惟一的软件框架应用程序,但作为一个并行数据处理引擎,它的表现非常突出。Hadoop 最有趣的方面之一是 Map and Reduce 流程,它受到Google开发的启发。这个流程称为创建索引,它将 Web爬行器检索到的文本 Web 页面作为输入,并且将这些页面上的单词的频率报告作为结果。然后可以在整个 Web
搜索过程中使用这个结果从已定义的搜索参数中识别内容。

MapReduce

最简单的 MapReduce应用程序至少包含 3 个部分:一个 Map 函数、一个 Reduce 函数和一个 main 函数。main 函数将作业控制和文件输入/输出结合起来。在这点上,Hadoop 提供了大量的接口和抽象类,从而为 Hadoop应用程序开发人员提供许多工具,可用于调试和性能度量等。

MapReduce 本身就是用于并行处理大数据集的软件框架。MapReduce 的根源是函数性编程中的 map 和 reduce 函数。它由两个可能包含有许多实例(许多
Map 和 Reduce)的操作组成。Map 函数接受一组数据并将其转换为一个键/值对列表,输入域中的每个元素对应一个键/值对。Reduce 函数接受 Map
函数生成的列表,然后根据它们的键(为每个键生成一个键/值对)缩小键/值对列表。

这里提供一个示例,帮助您理解它。假设输入域是 one small step for man,one giant leap
for mankind。在这个域上运行 Map 函数将得出以下的键/值对列表:

(one,1) (small,1) (step,1) (for,1) (man,1)

MapReduce 流程的概念流

(one,1) (giant,1) (leap,1) (for,1)
(mankind,1)

如果对这个键/值对列表应用 Reduce 函数,将得到以下一组键/值对:

(one,2) (small,1) (step,1) (for,2) (man,1)(giant,1) (leap,1)
(mankind,1)

结果是对输入域中的单词进行计数,这无疑对处理索引十分有用。但是,假

显示处理和存储的物理分布的 Hadoop 集群

设有两个输入域,第一个是 one small step for man,第二个是 one
giant leap for mankind。您可以在每个域上执行 Map 函数和 Reduce 函数,然后将这两个键/值对列表应用到另一个 Reduce
函数,这时得到与前面一样的结果。换句话说,可以在输入域并行使用相同的操作,得到的结果是一样的,但速度更快。这便是 MapReduce
的威力;它的并行功能可在任意数量的系统上使用。图 2 以区段和迭代的形式演示这种思想。

回到 Hadoop 上,它是如何实现这个功能的?一个代表客户机在单个主系统上启动的 MapReduce应用程序称为 JobTracker。类似于 NameNode,它是 Hadoop 集群中惟一负责控制
MapReduce应用程序的系统。在应用程序提交之后,将提供包含在 HDFS 中的输入和输出目录。JobTracker
使用文件块信息(物理量和位置)确定如何创建其他 TaskTracker 从属任务。MapReduce应用程序被复制到每个出现输入文件块的节点。将为特定节点上的每个文件块创建一个惟一的从属任务。每个 TaskTracker
将状态和完成信息报告给 JobTracker。图 3 显示一个示例集群中的工作分布。

Hadoop
的这个特点非常重要,因为它并没有将存储移动到某个位置以供处理,而是将处理移动到存储。这通过根据集群中的节点数调节处理,因此支持高效的数据处理

5.子项目

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列数据库。(HBaseAvro已经于2010年5月成为顶级 Apache 项目)

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

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

Avro:新的数据序列化格式与传输工具,将逐步取代Hadoop原有的IPC机制。

Pig: 大数据分析平台,为用户提供多种接口。

Ambari[11]:Hadoop管理工具,可以快捷的监控、部署、管理集群。

Sqoop:于在HADOOP与传统的数据库间进行数据的传递。

Hadoop 介绍,布布扣,bubuko.com

时间: 2024-08-06 07:56:43

Hadoop 介绍的相关文章

在HDInsight中的Hadoop介绍

在HDInsight中的Hadoop介绍 概览 Azure的HDInsight是,部署和规定的Apache?Hadoop?集群在云中,提供用于管理,分析和大数据报告软件框架中的服务. 大数据 数据被描写叙述为"大数据",以表明它被收集在以往升级卷,以越来越高的速度,并为一个扩大各种非结构化格式和可变语义语境.大数据的收集并不正确企业自身提供的价值. 对于大数据在可操作智能或洞察力的形式提供价值.不仅要正确的问题问及相关的问题,数据收集,数据必须能够訪问.清洗.分析,然后在一个实用的方式

[Hadoop入门] - 1 Ubuntu系统 Hadoop介绍 MapReduce编程思想

Ubuntu系统 (我用到版本号是140.4) ubuntu系统是一个以桌面应用为主的Linux操作系统,Ubuntu基于Debian发行版和GNOME桌面环境.Ubuntu的目标在于为一般用户提供一个最新的.同时又相当稳定的主要由自由软件构建而成的操作系统,它可免费使用,并带有社团及专业的支持应. 作为Hadoop大数据开发测试环境, 建议大家不要在windows上安装CgyWin来学习或研究, 直接用Vmware+ubuntu来学习. 下载 www.vmware.com这里下载vmware,

Hadoop介绍及最新稳定版Hadoop 2.4.1下载地址及单节点安装

 Hadoop介绍 Hadoop是一个能对大量数据进行分布式处理的软件框架.其基本的组成包括hdfs分布式文件系统和可以运行在hdfs文件系统上的MapReduce编程模型,以及基于hdfs和MapReduce而开发的一系列上层应用软件. hdfs是在一个网络中以流式数据访问模式来存储超大文件的跨越多台计算机的分布式文件系统.目前支持的超大文件的范围为从MB级至PB级. MapReduce是一种可用于数据处理的编程模型,基于MapReduce模型的程序本质上都是并行运行的.基于MapReduce

Hadoop介绍-4.Hadoop中NameNode、DataNode、Secondary、NameNode、JobTracker TaskTracker

Hadoop是一个能够对大量数据进行分布式处理的软体框架,实现了Google的MapReduce编程模型和框架,能够把应用程式分割成许多的 小的工作单元,并把这些单元放到任何集群节点上执行.在MapReduce中,一个准备提交执行的应用程式称为「作业(job)」,而从一个作业划分出 得.运行于各个计算节点的工作单元称为「任务(task)」.此外,Hadoop提供的分布式文件系统(HDFS)主要负责各个节点的数据存储,并实现了 高吞吐率的数据读写. 在分布式存储和分布式计算方面,Hadoop都是用

《写给大忙人的Hadoop 》读书笔记(二)Hadoop介绍

本文从Hadoop是什么.能做什么.谁使用三个主要问题去讲解.对于重点知识如MapReduce.YARN.Hadoop生态系统内的其他组件(HBase.Pig.Hive.Zookeeper等)的介绍和使用这里不做详细说明,需要大家对这些内容扩展并深入学习. 1.Hadoop是什么及功能 1.2002年,Hadoop作为一个支持Web搜索引擎的单独软件项目被创立,如今已成为一个用来分析大量不同类型数据的工具和应用程序(如HBase,Hive等)的生态系统. Hadoop数据处理的一些功能如下: 1

Hadoop介绍-1.基本原理

了解大数据 首先,搞清楚hadoop在处理大数据的定位在哪里 什么是大数据?为什么要处理大数据? 数据量大(Volume) 数据类别复杂(Variety) 数据处理速度快(Velocity) 数据真实性高(Veracity) 合起来被称为4V. 处理大数据是为了挖掘数据中的隐含价值 如何处理大数据? 集中式计算VS分布式计算 集中式计算:通过不断增加处理器的个数来增强耽搁计算机的计算能力,从而提高处理的速度.需要的内存很大,计算的速度很快. 分布式计算:一组通过网络连接的计算机,形成一个分散的系

Hadoop学习笔记之一:Hadoop介绍

在学习Hadoop之前,先了解一下大数据相关的知识:         1.             大数据背景 大数据的产生:众所周知,随着信息社会的快速发展,信息量以爆发式的速度增长,这些信息包括来自互联网的大数据.大量传感器的机器数据.行业的内容数据.这些数据的特征表现为数据量大,一般为TB级或PB级甚至更大.数据类型多,可以是结构化的表单.半结构化的文本.视频.图像.语音.及非结构话的文件. 大数据的挑战:如何对这些数据进行高效存储,如何对这些数据进行分析和处理,以获取更多有价值的信息.大

【Hadoop学习之一】Hadoop介绍

一.概念 Hadoop是一个能够对大量数据进行分布式处理的软件框架,充分利用集群的威力进行高速运算和存储. 二.主要模块Hadoop Common:支持其他Hadoop模块的常用实用程序.Hadoop分布式文件系统(HDFS?):一种分布式文件系统,可提供对应用程序数据的高吞吐量访问.Hadoop YARN:作业调度和集群资源管理的框架.Hadoop MapReduce:基于YARN的系统,用于并行处理大型数据集.Hadoop Ozone: Hadoop的对象存储. Hadoop的框架最核心的设

hadoop介绍

数据进制: 1bit = 1位 1byte =8bit 1k=1024b 1m=1024k 1g=1024m 1t=1024g 1p=1024t 1e=1024p 1z=1024e 1y=1024z 存储 1.分割 分布式 :dfs 2.运算 mapreduce : map (映射)    reduce(化简)