大数据核心技术Hadoop是由哪些东西组成的?
118 2019-07-25

大数据技术涵盖了硬软件多个方面的技术,目前各种技术基本都独立存在于存储、开发、平台架构、数据分析挖掘的各个相对独立的领域。这一部分主要介绍和分析大数据处理的核心技术——Hadoop。

大数据不同于传统类型的数据,它可能由TB甚至PB级信息组成,既包括结构化数据,也包括文本、多媒体等非结构化数据。这些数据类型缺乏一致性,使得标准存储技术无法对大数据进行有效存储,而且我们也难以使用传统的服务器和SAN方法来有效地存储和处理庞大的数据量。这些都决定了“大数据”需要不同的处理方法,而Hadoop目前正是广泛应用的大数据处理技术。Hadoop是一个基于Java的分布式密集数据处理和数据分析的软件框架。该框架在很大程度上受Google在2004年白皮书中阐述的MapReduce的技术启发。Hadoop主要组件包含如图七:

Hadoop Common:通用模块,

• 支持其他Hadoop模块

• Hadoop Distributed File System(HDFS):分布式文件系统,用以提供高流量的应用数据访问

• Hadoop YARN:支持工作调度和集群资源管理的框架

• HadoopMapReduce:针对大数据的、灵活的并行数据处理框架

其他相关的模块还有:

• ZooKeeper:高可靠性分布式协调系统

• Oozie:负责MapReduce作业调度

• HBase:可扩展的分布式数据库,可以将结构性数据存储为大表

• Hive:构建在MapRudece之上的数据仓库软件包

• Pig:架构在Hadoop之上的高级数据处理层

在Hadoop框架中,最底层的HDFS存储Hadoop集群中所有存储节点上的文件。HDFS的架构是基于一组特定的节点构建的。

这些节点包括一个NameNode和大量的DataNode。存储在HDFS中的文件被分成块,然后将这些块复制到多个计算机中(DataNode)。这与传统的RAID架构大不相同。块的大小(通常为64MB)和复制的块数量在创建文件时由客户机决定。NameNode可以控制所有文件操作。

HDFS内部的所有通信都基于标准的TCP/IP协议。NameNode在HDFS内部提供元数据服务,负责管理文件系统名称空间和控制外部客户机的访问。它决定是否将文件映射到DataNode上的复制块上。DataNode通常以机架的形式组织,机架通过一个交换机将所有系统连接起来。Hadoop MapReduce是Google MapReduce的开源实现。MapReduce技术是一种简洁的并行计算模型,它在系统层面解决了扩展性、容错性等问题,通过接受用户编写的Map函数和Reduce函数,自动地在可伸缩的大规模集群上并行执行,从而可以处理和分析大规模的数据。

Hadoop提供了大量的接口和抽象类,从而为Hadoop应用程序开发人员提供许多工具,可用于调试和性能度量等。在Hadoop应用实例中,一个代表客户机在单个主系统上启动MapReduce的应用程序称为JobTracker。类似于NameNode,它是Hadoop集群中唯一负责控制MapReduce应用程序的系统。在应用程序提交之后,将提供包含在HDFS中的输入和输出目录。JobTr a cke r使用文件块信息(物理量和位置)确定如何创建其他TaskTracker从属任务。MapReduce应用程序被复制到每个出现输入文件块的节点,将为特定节点上的每个文件块创建一个唯一的从属任务。每个TaskTracker将状态和完成信息报告给JobTracker。

成都加米谷大数据培训,大数据开发0基础班、提高班,如果你想要学习了解关于大数据方面的课程,可以在线咨询加米谷大数据的老师

现在预报名
顶部