Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >HADOOP生态圈简介

HADOOP生态圈简介

作者头像
全栈程序员站长
发布于 2022-08-31 07:20:34
发布于 2022-08-31 07:20:34
79300
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

1. hadoop 生态概况 Hadoop是一个由Apache基金会所开发的分布式系统基础架构。 用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。具有可靠、高效、可伸缩的特点。

下图是hadoop生态系统,集成spark生态圈。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
	Hadoop的核心是YARN,HDFS和Mapreduce
		
	在未来一段时间内,hadoop将于spark共存,hadoop与spark
	都能部署在yarn、mesos的资源管理系统之上	
	下面将分别对以上各组件进行简要介绍,具体介绍参见后续系列博文。

2HDFS(Hadoop分布式文件系统)
	源自于Google的GFS论文,发表于200310月,HDFSGFS克隆版。
	HDFS是Hadoop体系中数据存储管理的基础。它是一个高度容错的系统,能检测和应对硬件故障,用于在低成本的通用硬件上运行。
	HDFS简化了文件的一致性模型,通过流式数据访问,提供高吞吐量应用程序数据访问功能,适合带有大型数据集的应用程序。
	它提供了一次写入多次读取的机制,数据以块的形式,同时分布在集群不同物理机器上。

3、Mapreduce(分布式计算框架)
	源自于google的MapReduce论文,发表于200412月,Hadoop MapReduce是google MapReduce 克隆版。
	MapReduce是一种分布式计算模型,用以进行大数据量的计算。它屏蔽了分布式计算框架细节,将计算抽象成map和reduce两部分,
	其中Map对数据集上的独立元素进行指定的操作,生成键-值对形式中间结果。Reduce则对中间结果中相同“键”的所有“值”进行规约,以得到最终结果。
	MapReduce非常适合在大量计算机组成的分布式并行环境里进行数据处理。
	
4. HBASE(分布式列存数据库)
	源自Google的Bigtable论文,发表于200611月,HBase是Google Bigtable克隆版
	HBase是一个建立在HDFS之上,面向列的针对结构化数据的可伸缩、高可靠、高性能、分布式和面向列的动态模式数据库。
	HBase采用了BigTable的数据模型:增强的稀疏排序映射表(Key/Value),其中,键由行关键字、列关键字和时间戳构成。
	HBase提供了对大规模数据的随机、实时读写访问,同时,HBase中保存的数据可以使用MapReduce来处理,它将数据存储和并行计算完美地结合在一起。
	
5. Zookeeper(分布式协作服务)
	源自Google的Chubby论文,发表于200611月,Zookeeper是Chubby克隆版
	解决分布式环境下的数据管理问题:统一命名,状态同步,集群管理,配置同步等。
	Hadoop的许多组件依赖于Zookeeper,它运行在计算机集群上面,用于管理Hadoop操作。
	
6. HIVE(数据仓库)
	由facebook开源,最初用于解决海量结构化的日志数据统计问题。
	Hive定义了一种类似SQL的查询语言(HQL),SQL转化为MapReduce任务在Hadoop上执行。通常用于离线分析。
	HQL用于运行存储在Hadoop上的查询语句,Hive让不熟悉MapReduce开发人员也能编写数据查询语句,然后这些语句被翻译为Hadoop上面的MapReduce任务。

7.Pig(ad-hoc脚本)
	由yahoo!开源,设计动机是提供一种基于MapReduce的ad-hoc(计算在query时发生)数据分析工具
	Pig定义了一种数据流语言—Pig Latin,它是MapReduce编程的复杂性的抽象,Pig平台包括运行环境和用于分析Hadoop数据集的脚本语言(Pig Latin)。
	其编译器将Pig Latin翻译成MapReduce程序序列将脚本转换为MapReduce任务在Hadoop上执行。通常用于进行离线分析。
	
8.Sqoop(数据ETL/同步工具)
	Sqoop是SQL-to-Hadoop的缩写,主要用于传统数据库和Hadoop之前传输数据。数据的导入和导出本质上是Mapreduce程序,充分利用了MR的并行化和容错性。
	Sqoop利用数据库技术描述数据架构,用于在关系数据库、数据仓库和Hadoop之间转移数据。

9.Flume(日志收集工具)
	Cloudera开源的日志收集系统,具有分布式、高可靠、高容错、易于定制和扩展的特点。
	它将数据从产生、传输、处理并最终写入目标的路径的过程抽象为数据流,在具体的数据流中,数据源支持在Flume中定制数据发送方,从而支持收集各种不同协议数据。
	同时,Flume数据流提供对日志数据进行简单处理的能力,如过滤、格式转换等。此外,Flume还具有能够将日志写往各种数据目标(可定制)的能力。
	总的来说,Flume是一个可扩展、适合复杂环境的海量日志收集系统。当然也可以用于收集其他类型数据

10.Mahout(数据挖掘算法库)
	Mahout起源于2008年,最初是Apache Lucent的子项目,它在极短的时间内取得了长足的发展,现在是Apache的顶级项目。
	Mahout的主要目标是创建一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。
	Mahout现在已经包含了聚类、分类、推荐引擎(协同过滤)和频繁集挖掘等广泛使用的数据挖掘方法。
	除了算法,Mahout还包含数据的输入/输出工具、与其他存储系统(如数据库、MongoDB 或Cassandra)集成等数据挖掘支持架构。

11. Oozie(工作流调度器)
	Oozie是一个可扩展的工作体系,集成于Hadoop的堆栈,用于协调多个MapReduce作业的执行。它能够管理一个复杂的系统,基于外部事件来执行,外部事件包括数据的定时和数据的出现。
	Oozie工作流是放置在控制依赖DAG(有向无环图 Direct Acyclic Graph)中的一组动作(例如,Hadoop的Map/Reduce作业、Pig作业等),其中指定了动作执行的顺序。
	Oozie使用hPDL(一种XML流程定义语言)来描述这个图。

12. Yarn(分布式资源管理器)
	YARN是下一代MapReduce,即MRv2,是在第一代MapReduce基础上演变而来的,主要是为了解决原始Hadoop扩展性较差,不支持多计算框架而提出的。
	Yarn是下一代 Hadoop 计算平台,yarn是一个通用的运行时框架,用户可以编写自己的计算框架,在该运行环境中运行。
	用于自己编写的框架作为客户端的一个lib,在运用提交作业时打包即可。该框架为提供了以下几个组件:
  - 资源管理:包括应用程序管理和机器资源管理

  - 资源双层调度

  - 容错性:各个组件均有考虑容错性

  - 扩展性:可扩展到上万个节点

13. Mesos(分布式资源管理器)
  	Mesos诞生于UC Berkeley的一个研究项目,现已成为Apache项目,当前有一些公司使用Mesos管理集群资源,比如Twitter。
  与yarn类似,Mesos是一个资源统一管理和调度的平台,同样支持比如MR、steaming等多种运算框架。

14. Tachyon(分布式内存文件系统)
	Tachyon(/'tæki:ˌɒn/ 意为超光速粒子)是以内存为中心的分布式文件系统,拥有高性能和容错能力,能够为集群框架(如Spark、MapReduce)提供可靠的内存级速度的文件共享服务。
	Tachyon诞生于UC Berkeley的AMPLab。

15. Tez(DAG计算模型)
	Tez是Apache最新开源的支持DAG作业的计算框架,它直接源于MapReduce框架,核心思想是将Map和Reduce两个操作进一步拆分,
	即Map被拆分成Input、Processor、Sort、Merge和Output, Reduce被拆分成Input、Shuffle、Sort、Merge、Processor和Output等,这样,这些分解后的元操作可以任意灵活组合,产生新的操作,这些操作经过一些控制程序组装后,可形成一个大的DAG作业。
	目前hive支持mr、tez计算模型,tez能完美二进制mr程序,提升运算性能。

16. Spark(内存DAG计算模型)
	Spark是一个Apache项目,它被标榜为“快如闪电的集群计算”。它拥有一个繁荣的开源社区,并且是目前最活跃的Apache项目。
	最早Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架。
	Spark提供了一个更快、更通用的数据处理平台。和Hadoop相比,Spark可以让你的程序在内存中运行时速度提升100倍,或者在磁盘上运行时速度提升1017. Giraph(图计算模型)
	Apache Giraph是一个可伸缩的分布式迭代图处理系统, 基于Hadoop平台,灵感来自 BSP (bulk synchronous parallel) 和 Google 的 Pregel。
	最早出自雅虎。雅虎在开发Giraph时采用了Google工程师2010年发表的论文《Pregel:大规模图表处理系统》中的原理。后来,雅虎将Giraph捐赠给Apache软件基金会。
	目前所有人都可以下载Giraph,它已经成为Apache软件基金会的开源项目,并得到Facebook的支持,获得多方面的改进。

18. GraphX(图计算模型)
	Spark GraphX最先是伯克利AMPLAB的一个分布式图计算框架项目,目前整合在spark运行框架中,为其提供BSP大规模并行图计算能力。

19. MLib(机器学习库)
	Spark MLlib是一个机器学习库,它提供了各种各样的算法,这些算法用来在集群上针对分类、回归、聚类、协同过滤等。

20. Streaming(流计算模型)
	Spark Streaming支持对流数据的实时处理,以微批的方式对实时数据进行计算

21. Kafka(分布式消息队列)
	Kafka是Linkedin于201012月份开源的消息系统,它主要用于处理活跃的流式数据。
	活跃的流式数据在web网站应用中非常常见,这些数据包括网站的pv、用户访问了什么内容,搜索了什么内容等。
	这些数据通常以日志的形式记录下来,然后每隔一段时间进行一次统计处理。

22. Phoenix(hbase sql接口)
	Apache Phoenix 是HBase的SQL驱动,Phoenix 使得Hbase 支持通过JDBC的方式进行访问,并将你的SQL查询转换成Hbase的扫描和相应的动作。

23. ranger(安全管理工具)
	Apache ranger是一个hadoop集群权限框架,提供操作、监控、管理复杂的数据权限,它提供一个集中的管理机制,管理基于yarn的hadoop生态圈的所有数据权限。

24. knox(hadoop安全网关)
	Apache knox是一个访问hadoop集群的restapi网关,它为所有rest访问提供了一个简单的访问接口点,能完成3A认证(Authentication,Authorization,Auditing)和SSO(单点登录)等

25. falcon(数据生命周期管理工具)
	Apache Falcon 是一个面向Hadoop的、新的数据处理和管理平台,设计用于数据移动、数据管道协调、生命周期管理和数据发现。它使终端用户可以快速地将他们的数据及其相关的处理和管理任务“上载(onboard)”到Hadoop集群。

26.Ambari(安装部署配置管理工具)
	Apache Ambari 的作用来说,就是创建、管理、监视 Hadoop 的集群,是为了让 Hadoop 以及相关的大数据软件更容易使用的一个web工具。


参考文献:

Hadoop生态系统介绍  
http://blog.csdn.net/qa962839575/article/details/44256769?ref=myread
大数据和Hadoop生态圈,Hadoop发行版和基于Hadoop的企业级应用 
http://www.36dsj.com/archives/26942
Oozie介绍 http://blog.csdn.net/wf1982/article/details/7200663
统一资源管理与调度平台(系统)介绍
http://blog.csdn.net/meeasyhappy/article/details/8669688
Tachyon简介
http://blog.csdn.net/u014252240/article/details/41810849
Apache Tez:一个运行在YARN之上支持DAG作业的计算框架
http://segmentfault.com/a/1190000000458726
Giraph:基于Hadoop的开源图形处理平台
http://tech.it168.com/a2013/0821/1523/000001523700.shtml
Hadoop家族学习路线图 
Hadoop家族学习路线图
基于Spark的图计算框架 GraphX 入门介绍  
http://www.open-open.com/lib/view/open1420689305781.html
Apache Spark 入门简介 
http://blog.jobbole.com/89446/
Ambari——大数据平台的搭建利器 
http://www.ibm.com/developerworks/cn/opensource/os-cn-bigdata-ambari/index.html
消息系统Kafka介绍 
http://dongxicheng.org/search-engine/kafka/
使用Apache Phoenix 实现 SQL 操作HBase 
http://www.tuicool.com/articles/vu6jae
面向Hadoop的、新的数据处理和管理平台:
Apache Falcon 
http://www.open-open.com/lib/view/open1422533435767.html.

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/143277.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
hadoop生态圈各个组件简介
Hadoop 是一个能够对大量数据进行分布式处理的软件框架。具有可靠、高效、可伸缩的特点。
全栈程序员站长
2022/08/31
1.1K0
hadoop生态圈各个组件简介
大数据Hadoop生态圈各个组件介绍(详情)
-coordination and management(协调与管理) -query(查询) -data piping(数据管道) -core hadoop(核心hadoop) -machine learning(机器学习) -nosql database(nosql数据库)
全栈程序员站长
2022/08/31
5.1K0
大数据Hadoop生态圈各个组件介绍(详情)
Hadoop及其生态系统的基本介绍【转载】
用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
foochane
2019/05/23
5980
Hadoop及其生态系统的基本介绍【转载】
hadoop生态圈相关技术_hadoop的生态
  最早Doug Cutting(后面被称为hadoop之父)领导创立了Apache的项目Lucene,然后Lucene又衍生出子项目Nutch,Nutch又衍生了子项目Hadoop。Lucene是一个功能全面的文本搜索和查询库,Nutch目标就是要试图以Lucene为核心建立一个完整的搜索引擎,并且能达到提到Google商业搜索引擎的目标。网络搜索引擎和基本文档搜索区别就在规模上,Lucene目标是索引数百万文档,而Nutch应该能处理数十亿的网页。因此Nutch就面临了一个极大的挑战,即在Nutch中建立一个层,来负责分布式处理、冗余、故障恢复及负载均衡等等一系列问题。
全栈程序员站长
2022/11/17
8180
hadoop生态圈相关技术_hadoop的生态
Hadoop生态圈各种组件介绍
好多初入学习大数据的人不是很清楚,今天分享一个图,并介绍一下大致的组件,其他还有一些组件是没有包含在其中的,但是大部分这个图片是有了的。
全栈程序员站长
2022/08/31
2.1K0
Hadoop生态圈各种组件介绍
HADOOP生态圈知识概述
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。具有可靠、高效、可伸缩的特点。
全栈程序员站长
2022/08/31
2.7K0
HADOOP生态圈知识概述
大数据技术分享:Hadoop的相关工具
Apache的Hadoop项目已几乎与大数据划上了等号。它不断壮大起来,已成为一个完整的生态系统,众多开源工具面向高度扩展的分布式计算。
加米谷大数据
2019/01/08
4200
大数据Hadoop生态圈介绍
Hadoop是目前应用最为广泛的分布式大数据处理框架,其具备可靠、高效、可伸缩等特点。
全栈程序员站长
2022/08/25
1K0
大数据Hadoop生态圈介绍
Hadoop生态系统-一般详细
首先我们先了解一下Hadoop的起源。然后介绍一些关于Hadoop生态系统中的具体工具的使用方法。如:HDFS、MapReduce、Yarn、Zookeeper、Hive、HBase、Oozie、Mahout、Pig、Flume、Sqoop。
全栈程序员站长
2022/08/31
1.1K0
Hadoop生态圈一览
根据Hadoop官网的相关介绍和实际使用中的软件集,将Hadoop生态圈的主要软件工具简单介绍下,拓展对整个Hadoop生态圈的了解。
全栈程序员站长
2022/08/31
1.2K0
Hadoop生态圈一览
细谈Hadoop生态圈
Hadoop在过去的几年里已经变得很成熟了。下面的图1-2显示了Hadoop生态系统堆栈。Apache Phoenix是HBase的SQL包装,它需要基本的HBase理解,在某种程度上,还需要理解它原生的调用行为。了解其他Hadoop生态系统组件以及HBase,将有助于更好地理解大数据领域,并利用Phoenix及其最佳可用特性。在本章中,我们将概述这些组件及其在生态系统中的位置。
木野归郎
2020/06/15
1.7K0
细谈Hadoop生态圈
Hadoop的生态系统介绍
Hadoop分布式文件系统是Hadoop项目的两大核心之一,是针对谷歌文件系统(GoogleFileSystem,GFS)的开源实现。是Hadoop体系中数据存储管理的基础。它是一个高度容错的系统,能检测和应对硬件故障,用于在低成本的通用硬件上运行。HDFS简化了文件的一致性模型,通过流式数据访问,提供高吞吐量应用程序数据访问功能,适合带有大型数据集的应用程序。
全栈程序员站长
2022/08/31
1.2K0
Hadoop的生态系统介绍
Hadoop生态圈的核心组件包括哪些
Hadoop是现在最流行的大数据分布式基础架构,其实现了很多大数据相关的核心功能,并且支持大量的核心项目。那么,今天小编就给大家盘点一下Hadoop生态圈核心组件,感兴趣的小伙伴快来学习下吧!
全栈程序员站长
2022/08/26
9750
大数据相关开源系统简介汇总
本片博客介绍大数据相关的开源系统以及他们对应的一句话简介, 对于各位想大概了解大数据都有哪些开源系统的同学有帮助。各种相关开源系统简介: 如下是Apache基金支持的开源软件 hdfs 跟GFS类
我是攻城师
2018/05/14
7360
Hadoop/Spark生态圈里的新气象
令人惊讶的是,Hadoop在短短一年的时间里被重新定义。让我们看看这个火爆生态圈的所有主要部分,以及它们各自具有的意义。 对于Hadoop你需要了解的最重要的事情就是,它不再是原来的Hadoop。 这
我是攻城师
2018/05/14
1.1K0
大数据开发的工具有哪些?
作为一个大数据开发人员,每天要与使用大量的大数据工具来完成日常的工作,那么目前主流的大数据开发工具有哪些呢?
全栈程序员站长
2022/07/23
2.4K0
Flink入门基础 – 简介
        这几年大数据的飞速发展,出现了很多热门的开源社区,其中著名的有 Hadoop、Storm,以及后来的 Spark,他们都有着各自专注的应用场景。Spark 掀开了内存计算的先河,也以内存为赌注,赢得了内存计算的飞速发展。Spark 的火热或多或少的掩盖了其他分布式计算的系统身影。就像 Flink,也就在这个时候默默的发展着。
星哥玩云
2022/07/26
1K0
Flink入门基础 – 简介
Hadoop生态系统简介
Hadoop生态系统主要包括:Hive、HBase、Pig、Sqoop、Flume、ZooKeeper、Mahout、Spark、Storm、Shark、Phoenix、Tez、Ambari。
全栈程序员站长
2022/08/31
2.6K0
Hadoop与Spark等大数据框架介绍[通俗易懂]
海量数据的存储问题很早就已经出现了,一些行业或者部门因为历史的积累,数据量也达到了一定的级别。很早以前,当一台电脑无法存储这么庞大的数据时,采用的解决方案是使用NFS(网络文件系统)将数据分开存储。但是这种方法无法充分利用多台计算机同时进行分析数据。
全栈程序员站长
2022/08/10
1.6K0
Hadoop与Spark等大数据框架介绍[通俗易懂]
Hadoop大数据生态系统及常用组件
什么是大数据,多大算大,100G算大么?如果是用来存储1080P的高清电影,也就是几部影片的容量。但是如果100G都是文本数据,比如云智慧透视宝后端kafka里的数据,抽取一条mobileTopic的数据如下:【107,5505323054626937,局域网,局域网,unknown,0,0,09f26f4fd5c9d757b9a3095607f8e1a27fe421c9,1468900733003】,这种数据100G能有多少条,我们可想而知。
程序狗
2021/12/16
8650
相关推荐
hadoop生态圈各个组件简介
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验