前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >hadoop生态圈详解

hadoop生态圈详解

作者头像
全栈程序员站长
发布于 2022-08-31 07:21:41
发布于 2022-08-31 07:21:41
1.1K0
举报

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

学习和使用hadoop有一年了,这里主要分享一下对hadoop整体上的理解,分门别类的介绍一下相关组件,最后提供了建议的学习路线,希望对hadoop的初学者有参考作用。

1. Hadoop核心件组有哪些? 广义hadoop指什么?

l 核心组件有:Hdfs、Yarn、MapReduce;

l 广义上指一个生态圈,泛指大数据技术相关的开源组件或产品,如hdfs、yarn、hbase、hive、spark、pig、zookeeper、kafka、flume、phoenix、sqoop。

2. Spark与hadoop之间有什么联系

l Spark也是一个生态圈,发展非很快,在计算方面比mapreduce要快很多倍,供了一个简单而丰富的编程模型,支持多种应用,包括ETL机器学习、数据流处理、图形计算;

l Hadoop和Spark在某些方面有重叠,但组件之间都可以很好的协同作战。

3. 分门别类介绍其中详细组件

为了方便理解以下按照功能进行了分类,并且把较为流行的排在了前面介绍,列表如下:

分类

相关产品

文件系统

• HDFS,目前大量采用的分布式文件系统,是整个大数据应用场景的基础通用文件存储组件 • S3, Simple Storage Service简单存储服务,更好的可扩展性,内置的持久性,以及较低的价格

资源调度

• YARN,分布式资源调度,可以接收计算的任务把它分配到集群各节点处理,相当于大数据操作系统,通用性好,生态支持好; • Mesos,同YARN类似,偏向于资源的抽象和管理

计算框架

• Spark序列,有流计算、图计算、机器学习; • Flink,支持计算数据不断变化,即增量计算; • Storm,专注于流式计算,功能强大; • Mapreduce, 分布式计算基本计算框架,编程难度高,执行效率低

数据库

• Hbase,一种NoSQL列簇数据库,支持数十亿行数百万列大型数据储存和访问,尤其是写数据的性能非常好,数据读取实时性较好,提供一套API,不支持SQL操作,数据存储采用HDFS; • Cassandra,对大型表格和 Dynamo支持得最好; • Redis,运行异常快,还可应用于分布式缓存场景

SQL支持

• Spark SQL,由Shark、Hive发展而来的,以SQL方式访问数据源(如hdfs、hbase、S3、redis甚至关系统数据库等,下同); • Phoenix,一套专注于SQL方式访问hbase的JDBC驱动,支持绝大部分SQL语法,支持二级索引,支持事务,低延时; • Hive,通过HQL(类似SQL)来统计分析生成查询结果,通过解析HQL生成可以Mapreduce上执行的任务,典型的应用场景是与hbase集成; • 其它:impala、pig等,都实现了类似的功能,解决了直接写map/reduce分析数据的复杂性,降低了数据分析工作者或开发人员使用大数据的门槛

其它工具

• 分布式协作zookeeper,可以理解为一个小型高性能的数据库,为生态圈中与很多组件提供发布订阅的功能,还可以监测节点是否失效(心跳检测),如HBase、Kafka中利用zookeeper存放了主从节点信息; • Kafka, 是一种分布式的,基于发布/订阅的消息系统,类似于消息对列的功能,可以接收生产者(如webservice、文件、hdfs、hbase等)的数据,本身可以缓存起来,然后可以发送给消费者(同上),起到缓冲和适配的作; • Flume,分布式的海量日志采集、聚合和传输的系统,主要作用是数据的收集和传输,也支持非常多的输入输出数据源; • Sqoop,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql…)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中

4. 典型的组合使用场景

Hadoop、Spark生态圈的组件是相互配合使用的,每个组件都有自己“用武之地”,组合起来完成即可以满足各种系统业务需求,下面列举两个例子:

(1)数据采集、存储、分析场景

该场景下完成了整个数据的采集、存储、分析,并输出结果,组件搭配如下:

Flume + kafka(zookeeper)+ Hdfs + Spark/Storm/Hive + Hbase (Zookeeper、Hdfs) /Redis

说明如下:

l Flume用来从种渠道(如http、exec、文件、kafka , …)收集数据,并发送到kaffka(当然也可以存放到hdfs、hbase、file、…)

l Kafka可以缓存数据,与flume一样也支持各种协议的输入和输出,由于kafka需要zookeeper来完成负载均衡和HA,所以需要zookeeper来支持

l 开始计算,这里有三种选择,Spark/Storm/Hive,各有优势,相对Hive目前仍使用广泛,该技术出现的较早;Storm专注于流式处理,延迟非常低; Spark最有前景的计算工具;不管用什么,最终都是对数据的清理、统计,把得到的结果输出

l 展示结果数据存储,可以使用Hbase kafka(zookeeper) /Redis或mysql等,看使用场景(数据量大小等因素),由于处理之后的结果数据一般比较少可以直接放到Redis,然后就可以采用常规的技术展示出报表或其它消费方式使用这些计算后的结果数据

(2)数据存储和实时访问

这种场景非常类似常规应用开发场景,即通过java的JDBC来访问大数据集群,组件搭配:

Jdbc + Solr + Phoenix/Spark sql + Hbase kafka(zookeeper) + Hdfs

说明如下:

l Jdbc是通用的java操作数据库的方式,使用的是sql语句

l Solr为全文检索,完成站点分词搜索功能

l Phoenix/Spark sql方便以jdbc方式访问Hbase数据库

l Hdfs最终完成数据的物理存储

5. 建议的学习线路

仅凭个人经验,大概的分了三个阶段,如下:

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

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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
hadoop生态圈各个组件简介
Hadoop 是一个能够对大量数据进行分布式处理的软件框架。具有可靠、高效、可伸缩的特点。
全栈程序员站长
2022/08/31
1.1K0
hadoop生态圈各个组件简介
Hadoop生态圈各种组件介绍
好多初入学习大数据的人不是很清楚,今天分享一个图,并介绍一下大致的组件,其他还有一些组件是没有包含在其中的,但是大部分这个图片是有了的。
全栈程序员站长
2022/08/31
2.1K0
Hadoop生态圈各种组件介绍
hadoop生态圈相关技术_hadoop的生态
  最早Doug Cutting(后面被称为hadoop之父)领导创立了Apache的项目Lucene,然后Lucene又衍生出子项目Nutch,Nutch又衍生了子项目Hadoop。Lucene是一个功能全面的文本搜索和查询库,Nutch目标就是要试图以Lucene为核心建立一个完整的搜索引擎,并且能达到提到Google商业搜索引擎的目标。网络搜索引擎和基本文档搜索区别就在规模上,Lucene目标是索引数百万文档,而Nutch应该能处理数十亿的网页。因此Nutch就面临了一个极大的挑战,即在Nutch中建立一个层,来负责分布式处理、冗余、故障恢复及负载均衡等等一系列问题。
全栈程序员站长
2022/11/17
8040
hadoop生态圈相关技术_hadoop的生态
大数据面试题V3.0,523道题,779页,46w字
面试题总结是一个长期工作,面试不停,这份面试题总结就不会停。以后会慢慢把Java相关的面试题、计算机网络等都加进来,其实这不仅仅是一份面试题,更是一份面试参考,让你熟悉面试题各种提问情况,当然,项目部分,就只能看自己了,毕竟每个人简历、实习、项目等都不一样。
蓦然
2022/09/11
3K1
细谈Hadoop生态圈
Hadoop在过去的几年里已经变得很成熟了。下面的图1-2显示了Hadoop生态系统堆栈。Apache Phoenix是HBase的SQL包装,它需要基本的HBase理解,在某种程度上,还需要理解它原生的调用行为。了解其他Hadoop生态系统组件以及HBase,将有助于更好地理解大数据领域,并利用Phoenix及其最佳可用特性。在本章中,我们将概述这些组件及其在生态系统中的位置。
木野归郎
2020/06/15
1.6K0
细谈Hadoop生态圈
大数据Hadoop生态圈各个组件介绍(详情)
-coordination and management(协调与管理) -query(查询) -data piping(数据管道) -core hadoop(核心hadoop) -machine learning(机器学习) -nosql database(nosql数据库)
全栈程序员站长
2022/08/31
5K0
大数据Hadoop生态圈各个组件介绍(详情)
大数据Hadoop生态圈介绍
Hadoop是目前应用最为广泛的分布式大数据处理框架,其具备可靠、高效、可伸缩等特点。
全栈程序员站长
2022/08/25
1K0
大数据Hadoop生态圈介绍
Hadoop及其生态系统的基本介绍【转载】
用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
foochane
2019/05/23
5950
Hadoop及其生态系统的基本介绍【转载】
【赵渝强老师】Hadoop生态圈组件
它的全称是Hadoop Distributed File System,它是Hadoop分布式文件系统,用于解决大数据的存储问题。HDFS源自于Google的GFS论文,可用于运行在低成本的通用硬件上,是一个具有容错的文件系统。
赵渝强老师
2024/08/12
1410
【赵渝强老师】Hadoop生态圈组件
HADOOP生态圈知识概述
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。具有可靠、高效、可伸缩的特点。
全栈程序员站长
2022/08/31
2.6K0
HADOOP生态圈知识概述
Hadoop概念学习系列之Hadoop、Spark学习路线(很值得推荐)
说在前面的话   此笔,对于仅对于Hadoop和Spark初中学者。高手请忽略! 1 Java基础: 视频方面:           推荐《毕向东JAVA基础视频教程》。学习hadoop不需要过度的深入,java学习到javase,在Java虚拟机的内存管理、以及多线程、线程池、设计模式、并行化多多理解实践即可。     书籍方面:           推荐李兴华的《java开发实战经典》 2 Linux基础:     视频方面:            (1)马哥的高薪Linux视频课程-Linux入门、
庞小明
2018/03/26
2.7K0
Hadoop概念学习系列之Hadoop、Spark学习路线(很值得推荐)
大数据全体系年终总结
  1、文件存储当然是选择Hadoop的分布式文件系统HDFS,当然因为硬件的告诉发展,已经出现了内存分布式系统Tachyon,不论是Hadoop的MapReduce,Spark的内存计算、hive的MapReuduce分布式查询等等都可以集成在上面,然后通过定时器再写入HDFS,以保证计算的效率,但是毕竟还没有完全成熟。
用户3003813
2018/09/06
7010
大数据全体系年终总结
盘点大数据生态圈,那些繁花似锦的开源项目
随着互联网和移动互联网的发展,时下我们正处在一个大数据的时代。在数据金山的诱惑下,各个机构纷纷开始探索从数据中提取洞见并指导实践的可能。而在这个需求的刺激下,在过去数年,大数据开源生态圈得到了长足的发展——在数据的整个生命周期中,从收集到处理,一直到数据可视化和储存,各种开源技术框架林立。 以这些开源技术为基石,业内涌现出一系列令人敬佩的大数据架构实践,而《程序员》电子刊9月B大数据实战与技术专题则摘录了电商、金融、游戏等行业的大数据应用,并覆盖了当下热门的大数据开源技术实践与技术细节,如Hadoop、
我是攻城师
2018/05/14
9130
Hadoop生态圈的核心组件包括哪些
Hadoop是现在最流行的大数据分布式基础架构,其实现了很多大数据相关的核心功能,并且支持大量的核心项目。那么,今天小编就给大家盘点一下Hadoop生态圈核心组件,感兴趣的小伙伴快来学习下吧!
全栈程序员站长
2022/08/26
9630
Hadoop/Spark生态圈里的新气象
令人惊讶的是,Hadoop在短短一年的时间里被重新定义。让我们看看这个火爆生态圈的所有主要部分,以及它们各自具有的意义。 对于Hadoop你需要了解的最重要的事情就是,它不再是原来的Hadoop。 这
我是攻城师
2018/05/14
1.1K0
【云+社区年度征文】大数据常用技术梳理
从上图我们可以看到, 从事大数据方向可以有很多具体方向的职位. 相较于Java开发, 选择面更加广泛
时间静止不是简史
2020/12/21
1.2K3
【云+社区年度征文】大数据常用技术梳理
大数据技术栈详解
相信很多学Java的同学都有想转大数据或者学大数据的想法,但是一看到网上那些大数据的技术栈,就一脸懵逼,什么Hadoop、HDFS、MapReduce、Hive、Kafka、Zookeeper、HBase、Sqoop、Flume、Spark、Storm、Flink等等技术。
林老师带你学编程
2020/04/13
3.8K0
Hadoop生态系统简介
Hadoop生态系统主要包括:Hive、HBase、Pig、Sqoop、Flume、ZooKeeper、Mahout、Spark、Storm、Shark、Phoenix、Tez、Ambari。
全栈程序员站长
2022/08/31
2.6K0
Hadoop大数据生态系统及常用组件
什么是大数据,多大算大,100G算大么?如果是用来存储1080P的高清电影,也就是几部影片的容量。但是如果100G都是文本数据,比如云智慧透视宝后端kafka里的数据,抽取一条mobileTopic的数据如下:【107,5505323054626937,局域网,局域网,unknown,0,0,09f26f4fd5c9d757b9a3095607f8e1a27fe421c9,1468900733003】,这种数据100G能有多少条,我们可想而知。
程序狗
2021/12/16
8590
HADOOP生态圈简介
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/143277.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/31
7890
HADOOP生态圈简介
相关推荐
hadoop生态圈各个组件简介
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档