hadoop生态圈(Hadoop生态圈是指)
本篇文章给大家谈谈hadoop生态圈,以及Hadoop生态圈是指对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
Hadoop生态圈的核心组件包括哪些
Hadoop是现在最流行的尺迅敬大数据分布式基础架构,其实现了很多大数据相关的核心功能,并且支持大量的核心项目。那么,今天小编就给大家盘点昌颤一下Hadoop生陵慎态圈核心组件,感兴趣的小伙伴快来学习下吧!
hadoop和hadoop生态圈有什么区别
1、Hadoop狭义是框架,广义是生态圈;
2、Hadoop框架,java语言实现开源软盯团件框架,是开发和运行处理大规模数据的软件平台;
3、Hadoop生态凯滚橘圈,当下的Hadoop已经成长为一个庞大的体系,随着生态系统的成长,新出现的项目越来越多,其中包含一些非Apache主管的项目,这些项备激目对HADOOP是很好的补充或者更高层的抽象。
[img]hadoop生态圈中的框架不包括什么
Hadoop 生态圈中的框架包括以下主要组件,除了以下组件之外的都不属于Hadoop 生态圈。
1)HDFS:一个提供高可用的获取应用数据的分布式文件系统。
2)MapReduce:一个并行处理大数据集的编程模型。
3)HBase:一个可扩展的分布式数据库,支持大表的结构化数据存储。是一个建立在 HDFS 之上的,面向列的 NoSQL 数据库,用于快速读/写大量数据。扮笑手
4)Hive:一个建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具;可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了简单的类 SQL 查询语言,称为 HQL,它允许不熟悉 MapReduce 的开发人员也能编写数据查询语句,然后这些语句被翻译为 Hadoop 上面的 MapReduce 任务。
5)Mahout:可扩展的机器学习和数据挖掘库。它提供的 MapReduce 包含很多实现方法,包括聚类算法、回归测试、统计建模。
6)Pig:一个支持并行计算的高级的数据流语言和执行框架。它是 MapReduce 编程的复杂性的抽象。Pig 平台包括运行环境和用于分析 Hadoop 数据集的脚本语言(PigLatin)。其编译器将 PigLatin 翻译成 MapReduce 程序序列。
7)Zookeeper:—个应用于分布式应用的高性能的协调服务。它是一个为分布式应用提供一致性服务的软件,提供的功能包括配置维护、域名服务、分布式同步、组服务等。
8)Amban:一个基于 Web 的工具,用来供应、管理和监测 Hadoop 集群,包括支持 HDFS、MapReduceAHive、HCatalog、HBase、ZooKeeperAOozie、Pig 和 Sqoop 。Ambari 也提供了一个可视的仪表盘来查看集群的健康状态,并且能够使用户可视化地查看 MapReduce、Pig 和 Hive 应用来诊断其性能特征。
9)Sqoop:一个连接工具,用于在关系数据库、数据仓库和 Hadoop 之间转移数据。Sqoop 利用数据库技术描述厅嫌架构,进行数据的导入/导出;利用 MapReduce 实现并升春行化运行和容错技术。
10)Flume:提供了分布式、可靠、高效的服务,用于收集、汇总大数据,并将单台计算机的大量数据转移到 HDFS。它基于一个简单而灵活的架构,并提供了数据流的流。它利用简单的可扩展的数据模型,将企业中多台计算机上的数据转移到 Hadoop。
Hadoop生态圈中的调度组件-YARN
一、YARN:Hadoop集群中的同一资源调度系统。Hadoop2.0后引入,主要功能有:负责集群中资源的统一调度,响应客户端的请求。
优缺点
二、YARN核心组件及架构
1. ResourceManger(RM):全局资源管理器,集群中只有一个活跃的RM,具体功能包括:处理客户端的请求;启动监控ApplicationMaster;监控NodeManger;资源的分配和调度。
2.ApplicationMaster(AM):每个应用程序(job任务)对应一个AM,负责计算job的资源情况,并向RM申请和任务的调度。具体功能包括:(1)计算job资源使用情况,与RM协商申请job的资源情况;(2)与NodeManger通信启动/停止Container,来执行/终止任务的具体执行;(3)监控任务的运行状态及失败处理。源备
3.NodeManager(NM):节点的资源管理器,每个节点启动一个,一般与DataNode一 一对应。具体功能包括:雹悔毁(1)监控和管理当前节点的资源使用情况;(2)通过心跳向RM汇报自身的资源使用情况;(3)处理RM的请求,分配执行AM的Container;(4):处理AM的请求,启动和停止执行任务的Container。
4.Container:资源的抽象,包括一系列描述信息,任务的运行前洞资源(节点、CPU、内存等),任务运行环境,启动命令等。
架构图见 yarn-arch
三、YARN运行流程
2. RM根据内部调度器,选取一个资源空闲的NM,启动一个Container来运行AM。
3.AM计算应用程序所需资源,向RM进行资源申请,申请字段包括:
message ResourceRequestProto {
optional PriorityProtopriority = 1; // 资源优先级
optional stringresource_name = 2; // 期望资源所在的host
optional ResourceProtocapability = 3; // 资源量(mem、cpu)
optional int32num_containers = 4; // 满足条件container个数
optional boolrelax_locality = 5 ; //default = true;
}
AM会根据文件的存储地址,分析运行需要的资源等,向RM申请一个期望的资源列表,RM同时考虑各个节点资源使用情况,最终分配一个资源列表。
4. RM返回资源列表,以cotainer结构
message ContainerProto {
optional ContainerIdProtoid = 1; //container id
optional NodeIdProtonodeId = 2; //container(资源)所在节点
optional stringnode_http_address = 3;
optional ResourceProtoresource = 4; //分配的container数量
optional PriorityProtopriority = 5; //container的优先级
optional hadoop.common.TokenProtocontainer_token = 6; //container token,用于安全认证
}
5. AM与NM通信,分配Container并执行任务,以 ContainerLaunchContext 结构发出请求。同时监控各个节点的运行情况(定期心跳),如果失败,AM可将该节点的任务调度到其他节点运行。
一个NN可以启动多个Container。
ContainerLaunchContext结构:
message ContainerLaunchContextProto {
repeated StringLocalResourceMapProtolocalResources = 1; //该Container运行的程序所需的在资源,例如:jar包
optional bytestokens = 2;//Security模式下的SecurityTokens
repeated StringBytesMapProtoservice_data = 3;
repeated StringStringMapProtoenvironment = 4; //Container启动所需的环境变量
repeated stringcommand = 5; //该Container所运行程序的命令,比如运行的为java程序,即$JAVA_HOME/bin/java org.ourclassrepeated ApplicationACLMapProto application_ACLs = 6;//该Container所属的Application的访问控制列表
}
RM负责AM的启动和监控,若异常可重新运行。
AM负责真个job任务的运行、监控,及失败处理操作。
四、YARN的调度器
先进先出FIFO
Cap 容量调度器
Fire 公平调度器
关于hadoop生态圈和Hadoop生态圈是指的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。