hadoop组件

贡献者:游客15881470 类别:中英混合 时间:2023-04-20 15:09:23 收藏数:1 评分:1
返回上页 举报此文章
请选择举报理由:




收藏到我的文章 改错字
HDFS(Hadoop Distributed File System)是Hadoop分布式文件系统
,是Hadoop三大核心之一,是针对谷歌文件系统GFS(Google File System)的开源
实现(The Google File System, 2003)。HDFS是一个具有高容错性的文件系
统,适合部署在廉价的机器上,HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。大数据处
理框架如MapReduce、Spark等要处理的数据源大部分都存储在HDFS上,Hive、HBase
等框架的数据通常也存储在HDFS上。简而言之,HDFS为大数据的存储提供了保障。
YARN(Yet Another Resource Negotiator)是统一资源管理和调度框架,
它解决了Hadoop 1.0资源利用率低和不能兼容异构计算框架等多种问题,它提供了资源隔离方案和双调
度器的实现,可在YARN上运行各种不同类型计算框架包括
MapReduce、Spark、Storm、Tez等。
Hadoop MapReduce是一个分布式的、并行处理的编程模型,是针对Google MapRed
uce的开源实现(MapReduce: Simplified Data Processing on
Large Clusters, 2004)。开发人员可以在不了解分布式系统底层设计原理和缺少并行应用
开发经验的情况下,就能使用MapReduce计算框架 快速轻松地编写出分布式并行程序,完成对大规模数
据集(大于1TB)的并行计算。MapReduce利用函数式编程思想,将复杂的、运行于大规模集群上的并
行计算过程高度抽象为两个函数:Map和Reduce,其中Map是对可以并行处理的小数据集进行本地计算
并输出中间结果,Reduce是对各个Map的输出结果进行汇总计算得到最终结果。
Spark是加州伯克利大学AMP实验室开发的新一代计算框架,对迭代计算很有优势,和MapReduce
计算框架相比性能提升明显,并且都可以与YARN进行集成。
HBase是一个分布式的、面向列族的开源数据库,一般采用HDFS作为底层存储。HBase是针对Goo
gle Bigtable的开源实现(Bigtable: A Distributed Storage
System for Structured Data, 2006),二者采用相同数据模型,具有强大的
非结构化数据存储能力。HBase使用ZooKeeper进行管理,它保障查询速度的一个关键因素就是Ro
wKey的设计是否合理。
ZooKeeper是Google Chubby的开源实现,是一个分布式的、开放源码的分布式应用程序协
调框架,为大型分布式系统提供了高效且可靠的分布式协调服务,提供了诸如统一命名服务、配置管理、分布式锁
等分布式基础服务,并广泛应用于大型分布式系统如Hadoop、HBase、Kafka等开源系统,例如H
DFS NameNode HA自动切换、HBase高可用、Spark Standalone模式下Ma
ster HA机制都是通过ZooKeeper来实现的。
Hive是一个基于Hadoop的数据仓库工具,最早由Facebook开发并使用。Hive让不熟悉Ma
pReduce的开发人员直接编写SQL语句来实现对大规模数据的统计分析操作,Hive可以将SQL语句
转换为MapReduce作业,并提交到Hadoop集群上运行。Hive大大降低了学习门槛,同时也提升
了开发效率。
Flume是由Cloudera提供的一个高可用、高可靠、分布式的海量日志采集、聚合和传输的框架。Fl
ume支持在日志系统中定制各类数据发送方,用于收集数据,同时,Flume提供对数据进行简单处理并写到
各种数据接收方。
Sqoop是SQL to Hadoop的缩写,主要用于关系数据库和Hadoop之间的数据双向交换。可
以借助Sqoop完成关系型数据库如MySQL、Oracle、PostgreSQL等到Hadoop生态
系统中HDFS、HBase、Hive等的数据导入导出操作,整个导入导出过程都是由MapReduce计
算框架实现,非常高效。Sqoop项目开始于2009年,最早是作为Hadoop的一个第三方模块存在,后
来为了让使用者能够快速部署,也为了让开发人员能够更快速地迭代开发,
Sqoop就独立成为一个Apache项目。
Kafka是一种高吞吐量的、分布式的发布订阅消息系统,可以处理消费者在网站中的所有动作流数据。Kaf
ka最初由LinkedIn公司开发,于2010年贡献给Apache基金会,并于2012年成为Apac
he顶级开源项目,它采用Scala和Java语言编写,是一个分布式、支持分区的、多副本的、基于Zoo
Keeper协调的分布式消息系统,它适合应用于以下两大类别场景:构造实时流数据管道,在系统或应用之间
可靠地获取数据;构建实时流式应用程序,对这些流数据进行转换。
声明:以上文章均为用户自行添加,仅供打字交流使用,不代表本站观点,本站不承担任何法律责任,特此声明!如果有侵犯到您的权利,请及时联系我们删除。
文章热度:
文章难度:
文章质量:
说明:系统根据文章的热度、难度、质量自动认证,已认证的文章将参与打字排名!

本文打字排名TOP20

登录后可见