Hadoop是什么

摘要:
Hadoop最初是Apache Lucene下的一个子项目。它最初与Nutch项目分离,专门负责分布式存储和分布式计算。简而言之,Hadoop是一个软件平台,可以更容易地开发和运行以处理大规模数据。Hadoop实现了分布式文件系统,简称HDFS。org.apache.hadoop的实现。dfsHadoop分布式文件系统模块。

Hadoop原来是Apache Lucene下的一个子项目,它最初是从Nutch项目中分离出来的专门负责分布式存储以及分布式运算的项目。简单地说来,Hadoop是一个可以更容易开发和运行处理大规模数据的软件平台。下面列举hadoop主要的一些特点:

扩容能力(Scalable:能可靠地(reliably)存储和处理千兆字节(PB)数据。

成本低(Economical:可以通过普通机器组成的服务器群来分发以及处理数据。这些服务器群总计可达数千个节点。

高效率(Efficient:通过分发数据,hadoop可以在数据所在的节点上并行地(parallel)处理它们,这使得处理非常的快速。

可靠性(Reliablehadoop能自动地维护数据的多份复制,并且在任务失败后能自动地重新部署(redeploy)计算任务。

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

Hadoop还实现了MapReduce分布式计算模型。MapReduce将应用程序的工作分解成很多小的工作小块(small blocks of work)HDFS为了做到可靠性(reliability)创建了多份数据块(data blocks)的复制(replicas),并将它们放置在服务器群的计算节点中(compute nodes),MapReduce就可以在它们所在的节点上处理这些数据了。

Hadoop API被分成(divide into)如下几种主要的包(package):

org.apache.hadoop.conf定义了系统参数的配置文件处理API

org.apache.hadoop.fs定义了抽象的文件系统API

org.apache.hadoop.dfs Hadoop分布式文件系统(HDFS)模块的实现。

org.apache.hadoop.io定义了通用的I/O API,用于针对网络,数据库,文件等数据对象做读写操作。

org.apache.hadoop.ipc用于网络服务端和客户端的工具,封装了网络异步I/O的基础模块。

org.apache.hadoop.mapred Hadoop分布式计算系统(MapReduce)模块的实现,包括任务的分发调度等。

org.apache.hadoop.metrics 定义了用于性能统计信息的API,主要用于mapreddfs模块。

org.apache.hadoop.record 定义了针对记录的I/O API类以及一个记录描述语言翻译器,用于简化将记录序列化成语言中性的格式(language-neutral manner)。

org.apache.hadoop.tools定义了一些通用的工具。

org.apache.hadoop.util定义了一些公用的API

1.2Hadoop的框架结构

Map/Reduce是一个用于大规模数据处理的分布式计算模型,它最初是由Google工程师设计并实现的,Google已经将它完整的MapReduce论文公开发布了。其中对它的定义是,Map/Reduce是一个编程模型(programming model),是一个用于处理和生成大规模数据集(processing and generating large data sets)的相关的实现。用户定义一个map函数来处理一个key/value对以生成一批中间的key/value对,再定义一个reduce函数将所有这些中间的有着相同keyvalues合并起来。很多现实世界中的任务都可用这个模型来表达。

免责声明:文章转载自《Hadoop是什么》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇前端组件/库打包利器rollup使用与配置实战python Aes 加密 解密下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

ASP.NET Core WebAPI学习-1

Web API学习 ASP.NET Core WebAPI学习-1 ASP.NET Core WebAPI学习-2 ASP.NET Core WebAPI学习-3 ASP.NET Core WebAPI学习-4 ASP.NET Core WebAPI学习-5 ASP.NET Core WebAPI学习-6 创建Web API项目 打开Visual...

Spark性能优化指导及总结

1. 写在前面 之前零散的写了一些spark在某一块的性能优化,比如sparkstreaming的性能优化,参数优化,sparkSQL的优化。本篇博文针对spark一些基本的核心优化做一个介绍分享,当然这里的介绍适合rdd,sparkstreaming,sparkSQL等。当然个人认为不管什么样的优化方案和方式都只是为了提供一个优化参考。具体实际的业务中,...

webapi-1 给现有MVC 项目添加 WebAPI

1. 增加一个WebApi Controller, VS 会自动添加相关的引用,主要有System.Web.Http,System.Web.Http.WebHost,System.Net.Http 2. 在App_Start 下创建 WebApiConfig.cs 并注册路由 using System; using System.Collections...

linux中直接修改jar包内配置文件

https://www.cnblogs.com/bbbing/p/11011410.html (1)使用jar tvf jar名称 | grep 目标文件名 查询出目标文件在jar包中的目录:jar tvf service-0.0.1-SNAPSHOT.jar |grep config.properties(2)使用jar xvf jar名称 目标文件名(...

大数据实时计算引擎 Flink

数据来源:系统中可以采集到的数据,如用户数据、业务数据等,也包含系统运行时产生的日志数据等。 数据采集:不同数据源生成数据类型格式存在差异,在数据采集前可能增加数据总线(如京东JBus)对业务进行解耦,Sqoop和Flume是常用的数据采集工具。 Sqoop:用于和关系型数据库进行交互,使用SQL语句在Hadoop和关系型数据库间传送数据,Sqoop...

禅道安装在不同系统下搭建步骤

一.Linux下禅道安装及运行zentao官网的几个网址 http://www.zentao.net/ http://www.zentao.net/article-view-79863.html 搭建环境需要下载两个文件 1)Linux下禅道项目管理软件源码下载 http://sourceforge.net/projects/zentao/files/5....