Hadoop是什么,对于这个问题答案或许有不少人不知道,这里就像大家介绍一下什么是Hadoop,希望通过本文的介绍大家对Hadoop有清晰的认识。
本节和大家一起学习一下Hadoop,主要介绍一下Hadoop的概念以及它的特点,欢迎大家一起来学习Hadoop的知识。
1.Hadoop是什么 Hadoop原来是ApacheLucene下的一个子项目,它最初是从Nutch项目中分离出来的专门负责分布式存储以及分布式运算的项目。简单地说来,Hadoop是一个可以更容易开发和运行处理大规模数据的软件平台。
2.下面列举hadoop主要的一些特点:
1扩容能力(Scalable):能可靠地(reliably)存储和处理千兆字节(PB)数据。
2成本低(Economical):可以通过普通机器组成的服务器群来分发以及处理数据。这些服务器群总计可达数千个节点。
3高效率(Efficient):通过分发数据,hadoop可以在数据所在的节点上并行地(parallel)处理它们,这使得处理非常的快速。
4可靠性(Reliable):hadoop能自动地维护数据的多份复制,并且在任务失败后能自动地重新部署(redeploy)计算任务。
3.Hadoop实现了一个分布式文件系统(HadoopDistributedFileSystem),简称HDFS。
HDFS有着高容错性(fault-tolerent)的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(highthroughput)来访问应用程序的数据,适合那些有着超大数据集(largedataset)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以流的形式访问(streamingaccess)文件系统中的数据。
4.Hadoop还实现了MapReduce分布式计算模型。
MapReduce将应用程序的工作分解成很多小的工作小块(smallblocksofwork)。HDFS为了做到可靠性(reliability)创建了多份数据块(datablocks)的复制(replicas),并将它们放置在服务器群的计算节点中(computenodes),MapReduce就可以在它们所在的节点上处理这些数据了。
如下图所示:
5.HadoopAPI被分成(divideinto)如下几种主要的包(package)
org.apache.hadoop.conf定义了系统参数的配置文件处理API。
org.apache.hadoop.fs定义了抽象的文件系统API。
org.apache.hadoop.dfsHadoop分布式文件系统(HDFS)模块的实现。
org.apache.hadoop.io定义了通用的I/OAPI,用于针对网络,数据库,文件等数据对象做读写操作。
org.apache.hadoop.ipc用于网络服务端和客户端的工具,封装了网络异步I/O的基础模块。
org.apache.hadoop.mapredHadoop分布式计算系统(MapReduce)模块的实现,包括任务的分发调度等。
org.apache.hadoop.metrics定义了用于性能统计信息的API,主要用于mapred和dfs模块。
org.apache.hadoop.record定义了针对记录的I/OAPI类以及一个记录描述语言翻译器,用于简化将记录序列化成语言中性的格式(language-neutralmanner)。
org.apache.hadoop.tools定义了一些通用的工具。
org.apache.hadoop.util定义了一些公用的API。
【编辑推荐】