闽南网-福建主流媒体,闽南门户网站欢迎您!
当前位置: 主页 > 能源生态 > 大数据Hadoop生态圈-组件介绍
大数据Hadoop生态圈-组件介绍
闽南网-福建主流媒体,闽南门户网站  发布时间: 2020-10-19 13:11

  Spark(Spark core(RDD)) 和 MapReduce 是一个层级,是一种操作计算框架,MapReduce相当于一个别人写好的 java程序,它并不需要在服务器上启动相应的服务,甚至可以在本地run

  百度解释:无法在规定时间内用给现有的常规软件工具对其内容进行抓取、管理和处理的数据集合。通俗讲,大数据就是大到难以处理的数据集合,是社会技术发展过程中碰到的棘手问题。

  于是,我们为了解决这个问题,衍生出各种技术,而这些技术才是我们学习的内容。所以说,“我要去学习大数据”完整的说法应该是“我要去学习处理大数据问题的技术”。

  假设,现在我们要搞大数据了,买来了200台计算机,并整齐地放在了某个房间里。那么问题来了,怎么有效的组织这些计算机,让它们协同工作呢?“技术架构支持”这类技术就是为了解决这个问题。

  好了,现在我们已经将200台计算机有效组织,并能配合工作。开始搞大数据,哎?一拍脑瓜,数据哪来?“数据采集”呼之欲出,它帮你解决数据哪来的问题。

  现在,我们已经找到了数据源,并且有了采集的技术,但是呢,我们放哪啊?“数据存储”技术为你服务。

  一步步攻克难题,我们现在已经可以从我的网站或者各类系统将数据持续不断地存储到一个数据仓库。那么我们如何使用这些宝贵的数据,挖掘出它们无尽的价值呢?“数据计算”登场了。

  万事俱备,就差最后一步了。现在我们已经从大量数据中挖掘提取出了有价值信息。我们需要展示出来啊!对,“展示和交互”氤氲而出。

  Hadoop的核心组件是HDFS、MapReduce。随着处理任务不同,各种组件相继出现,丰富Hadoop生态圈,目前生态圈结构大致如图所示:

  根据服务对象和层次分为:数据来源层、数据传输层、数据存储层、资源管理层、数据计算层、任务调度层、业务模型层。接下来对Hadoop生态圈中出现的相关组件做一个简要介绍。

  HDFS是整个hadoop体系的基础,负责数据的存储与管理。HDFS有着高容错性(fault-tolerant)的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。

  client:切分文件,访问HDFS时,首先与NameNode交互,获取目标文件的位置信息,然后与DataNode交互,读写数据

  NameNode:master节点,每个HDFS集群只有一个,管理HDFS的名称空间和数据块映射信息,配置相关副本信息,处理客户端请求。

  DataNode:slave节点,存储实际数据,并汇报状态信息给NameNode,默认一个文件会备份3份在不同的DataNode中,实现高可靠性和容错性。

  Federation允许集群中出现多个NameNode,之间相互独立且不需要互相协调,各自分工,管理自己的区域。 DataNode 被用作通用的数据块存储设备。每个 DataNode 要向集群中所有NameNode 注册,并发送心跳报告,执行所有 namenode的命令。

  HDFS中的高可用性消除了Hadoop 1中存在的单点故障,其中,NameNode故障将导致集群中断。HDFS的高可用性提供故障转移功能(备用节点从失败的主NameNode接管工作的过程)以实现自动化。

  MapReduce是一种基于磁盘的分布式并行批处理计算模型,用于处理大数据量的计算。其中Map对应数据集上的独立元素进行指定的操作,生成键-值对形式中间,Reduce则对中间结果中相同的键的所有值进行规约,以得到最终结果。

  Jobtracker:master节点,只有一个,管理所有作业,任务/作业的监控,错误处理等,将任务分解成一系列任务,并分派给Tasktracker。

  Map task:解析每条数据记录,传递给用户编写的map()函数并执行,将输出结果写入到本地磁盘(如果为map—only作业,则直接写入HDFS)。

  Reduce task:从Map 它深刻地执行结果中,远程读取输入数据,对数据进行排序,将数据分组传递给用户编写的Reduce()函数执行。

  Spark是一种基于内存的分布式并行计算框架,不同于MapReduce的是——Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。

  Spark将数据抽象为RDD(弹性分布式数据集),内部提供了大量的库,包括Spark Core、Spark SQL、Spark Streaming、MLlib、GraphX。 开发者可以在同一个应用程序中无缝组合使用这些库。

  Spark Core:包含Spark的基本功能;尤其是定义RDD的API、操作以及这两者上的动作。其他Spark的库都是构建在RDD和Spark Core之上的

  Spark Streaming:对实时数据流进行处理和控制。Spark Streaming允许程序能够像普通RDD一样处理实时数据,通过短时批处理实现的伪流处理。

  MLlib:一个常用机器学习算法库,算法被实现为对RDD的Spark操作。这个库包含可扩展的学习算法,比如分类、回归等需要对大量数据集进行迭代的操作。

  GraphX:控制图、并行图操作和计算的一组算法和工具的集合。GraphX扩展了RDD API,包含控制图、创建子图、访问路径上所有顶点的操作

  Flink是一个基于内存的分布式并行处理框架,类似于Spark,但在部分设计思想有较大出入。对 Flink 而言,其所要处理的主要场景就是流数据,批数据只是流数据的一个极限特例而已。

  Spark中,对于批处理有RDD,对于流式有DStream,不过内部实际还是RDD抽象;在Flink中,对于批处理有DataSet,对于流式我们有DataStreams,但是是同一个公用的引擎之上两个独立的抽象,并且Spark是伪流处理,而Flink是线、Yarn/Mesos(分布式资源管理器)

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

  Hadoop的许多组件依赖于Zookeeper,它运行在计算机集群上面,用于管理Hadoop操作。

  Sqoop利用数据库技术描述数据架构,用于在关系数据库、数据仓库和Hadoop之间转移数据。

  HQL用于运行存储在Hadoop上的查询语句,Hive让不熟悉MapReduce开发人员也能编写数据查询语句,然后这些语句被翻译为Hadoop上面的MapReduce任务。

  Impala是用于处理存储在Hadoop集群中的大量数据的MPP(大规模并行处理)SQL查询引擎。 它是一个用C ++和Java编写的开源软件。 与Apache Hive不同,Impala不基于MapReduce算法。 它实现了一个基于守护进程的分布式架构,它负责在同一台机器上运行的查询执行的所有方面。因此执行效率高于Apache Hive。

  HBase采用了BigTable的数据模型:增强的稀疏排序映射表(Key/Value),其中,键由行关键字、列关键字和时间戳构成。

  HBase提供了对大规模数据的随机、实时读写访问,同时,HBase中保存的数据可以使用MapReduce来处理,它将数据存储和并行计算完美地结合在一起。

  同时,Flume数据流提供对日志数据进行简单处理的能力,如过滤、格式转换等。此外,Flume还具有能够将日志写往各种数据目标(可定制)的能力。

  生产者组件和消费者组件均可以连接到KafKa集群,而KafKa被认为是组件通信之间所使用的一种消息中间件。KafKa内部氛围很多Topic(一种高度抽象的数据结构),每个Topic又被分为很多分区(partition),每个分区中的数据按队列模式进行编号存储。被编号的日志数据称为此日志数据块在队列中的偏移量(offest),偏移量越大的数据块越新,即越靠近当前时间。生产环境中的最佳实践架构是Flume+KafKa+Spark Streaming。

  Oozie工作流是放置在控制依赖DAG(有向无环图 Direct Acyclic Graph)中的一组动作(例如,Hadoop的Map/Reduce作业、Pig作业等),其中指定了动作执行的顺序。

  来做一个总结: 1.从生态圈来说  Hadoop生态圈  Spark生态圈  Storm Hadoop...

  今天博主是做一个大概的概述,缺少的章节会在后面慢慢补充,感兴趣的同学可以在下面评论留言。数据可视化展示中心:...gt;PB2)多样化(Variety):来源多:搜索引擎,社交网络,通话记录,传感器格式多:(非)结...

  hadoop 1,数据越来越大,尤其是搜索引擎公司,数据的类别---分为三种,结构型,非结构型,半结构型,对应产生的数据库,关系型数据库,非关系型数据库;数据的来源---自己公司业务,爬虫(网络),购买(第三方...

  HDFS的体系架构 整个Hadoop的体系结构主要是通过HDFS来实现对分布式存储的底层支持,并通过MR来实现对分布式并行任务处理的程序支持。 HDFS采用主从(Master/Slave)结构模型,一个HDFS集群是由一个NameNode和若干...

  hadoop 生态概况 Hadoop是一个由Apache基金会所开发的分布式系统基础架构。 用户可以在不了解分布式底层细节的情况下...下图是hadoop生态系统,集成spark

  开源阵营、数据源与API阵营和孵化器与培训阵营。通过这些不同阵营的合作,可以为企业和组织提供端到端的完整

  【云星数据---Apache Flink实战系列(精品版)】:Apache Flink实战基础005--flink特性:flink的

  四、flink的生态系统flink和开源大数据处理的各种框架...flink生态系统flink也积极融入到

  和现有的大数据处理方案继续良好的融合,以降低大数据开发的难度。spark生态系统flink的生态系统和spark很相似,他

  去掉,就只剩下,开发,分析,运维。当然还有的工作,例如运营,产品,讲师,测试等。 加上了

  已经越来越成为大的公有云服务商的选择。 私有云的供应商,走上了一条“抱团取暖,共推开源”的道路。在开源社区,众筹式发展的局面已经基本...

  图解:    MapReduce:分布式数据处理模型和执行环境、运行于大型商用机集群。   ZooKeeper:一个分布式、高可用的协调服务。ZooKeeper提供分布式锁之类的基本服务用于构建分布式应用。   HDFS: ...

  组件的特性和使用场景,若有不当之处,请留言斧正,一起学习成长。 组件名 属性标签 特性 使用场景 价格成本 Mysql 关系型数据库,行式存储,支持sql 轻...

  学习大纲阶段一、 Java语言基础Java开发介绍、熟悉Eclipse开发工具、Java语言基础、Java流程控制、Java字符串、Java数组与类和对象、数字处理类与核心技术、I/O与反射、多线程...

  产业链包括哪几个环节,具体的包含内容,接下来,为大家一一介绍: IT基础设施,包括提供硬件、软件...

下一篇:怎么区分互联网生态圈与商业生态圈
首页 | 网站地图 | 网站声明 | 联系我们 | 关于我们
主办单位:闽南网-福建主流媒体,闽南门户网站                    承办单位:闽南网-福建主流媒体,闽南门户网站办公室
运维单位:闽南网-福建主流媒体,闽南门户网站互联网信息办公室        
网站标识码:1411270001                 联系电话:0358-6722104

晋公网安备 14112702000005号