2.1 Hadoop概述
2.1.1 Hadoop简介
Hadoop基于Java语言开发,是由Apache软件基金会开发的并行计算框架与分布式文件系统,具有跨平台性[1]。该系统框架的核心模块由Hadoop Common、HDFS、YARN、MapReduce等组件组成。
Hadoop Common主要包括系统配置工具Configuration、远程过程调用RPC、序列化机制和Hadoop抽象文件系统FileSystem等;为在普通的硬件环境上搭建云计算环境提供了基本的服务。
HDFS具有较高的读/写速度,很好的容错性及可伸缩性,为海量数据提供分布式存储,其冗余数据存储的方式很好地保证了数据的安全性。
MapReduce是一种用于并行处理大数据集的软件框架(编程模型)。用户可在不需要了解底层细节的情况下,编写MapReduce程序分析和处理分布式文件系统上的数据,MapReduce保证了分析和处理数据的高效性。
YARN是一个任务调度和集群资源管理系统,主要由两类长期运行的守护线程来提供其核心服务:一类是用于管理集群上资源使用的资源管理器(Resource Manager);另一类是运行在集群中各节点上且能够启动和监控容器(Container)的节点管理器(Node Manager)。
Hadoop系统框架具有高可靠性、高效性、高扩展性、高容错性、成本低等特点,被国内外众多公司广泛应用,如Facebook、Yahoo、百度、淘宝、网易、华为、中国移动等。Hadoop在日志处理、海量计算、并行计算、数据挖掘等场景也得到广泛应用。