大数据相关软件Apache Hadoop YARN、Heka、PrestoDB、Spring XD介绍

以下为你介绍的大数据相关软件都可用在Linux系统上:Apache Hadoop YARN(Hadoop 资源管理器)、Heka(数据收集和整理工具)、PrestoDB(大数据查询引擎)、Spring XD(简化大数据应用的开发)。

1、Apache Hadoop YARN(Hadoop 资源管理器)

大数据相关软件Apache Hadoop YARN、Heka、PrestoDB、Spring XD介绍

简单的说:YARN是新一代Hadoop资源管理器,通过YARN,用户可以运行和管理同一个物理集群机上的多种作业,例如MapReduce批处理和图形处理作业。这样不仅可以巩固一个组织管理的系统数目,而且可以对相同的数据进行不同类型的数据分析。某些情况下,整个数据流可以执行在同一个集群机上。

YARN的基本思想是将资源管理和作业调度/监视的功能拆分为单独的守护程序。这个想法是拥有一个全局的ResourceManager(RM)和每个应用程序的ApplicationMaster(AM)。应用程序可以是单个作业,也可以是作业的DAG。

ResourceManager和NodeManager组成数据计算框架。ResourceManager是在系统中所有应用程序之间仲裁资源的最终权限。NodeManager是每台机器的框架代理,负责容器,监视其资源使用情况(cpu,内存,磁盘,网络),并将其报告给ResourceManager/Scheduler。

实际上,每个应用程序的ApplicationMaster是特定于框架的库,其任务是与来自ResourceManager的资源进行协商,并与NodeManager一起执行和监视任务。

MapReduce NextGen体系结构:

ResourceManager具有两个主要组件:Scheduler和ApplicationsManager。

调度程序负责将资源分配给各种正在运行的应用程序,但要遵循熟悉的容量,队列等约束。调度程序是纯粹的调度程序,因为它不监视或跟踪应用程序的状态。此外,它也不保证由于应用程序故障或硬件故障而重新启动失败的任务。调度程序根据应用程序的资源需求执行调度功能。它基于资源容器的抽象概念来做到这一点,该容器包含诸如内存,cpu,磁盘,网络等元素。

调度程序具有可插拔策略,该策略负责在各种队列,应用程序等之间分配群集资源。当前的调度程序(例如CapacityScheduler和FairScheduler)将是一些插件示例。

ApplicationsManager负责接受作业提交,协商用于执行特定于应用程序的ApplicationMaster的第一个容器,并提供在失败时重新启动ApplicationMaster容器的服务。每个应用程序ApplicationMaster负责与调度程序协商适当的资源容器,跟踪其状态并监视进度。

hadoop-2.x中的MapReduce与以前的稳定版本(hadoop-1.x)保持API兼容性。这意味着仅通过重新编译,所有MapReduce作业仍应在YARN上保持不变。

YARN通过ReservationSystem支持资源保留的概念,ReservationSystem是一个组件,该组件使用户可以指定资源随时间和时间限制(例如,截止日期)的配置文件,并保留资源以确保可预测地执行重要作业。ReservationSystem跟踪资源超时,执行保留的准入控制,并动态指示底层调度程序确保保留已满。

为了将YARN扩展到成千上万个节点,YARN通过YARN联合功能支持联合的概念。联合允许将多个纱线(子)簇透明地连接在一起,并使它们看起来像是一个整体簇。这可以用于实现更大的规模,和/或允许将多个独立的群集一起用于非常大的工作,或用于具有全部能力的租户。

下载地址:http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/YARN.html

2、Heka(数据收集和整理工具)

大数据相关软件Apache Hadoop YARN、Heka、PrestoDB、Spring XD介绍

来自 Mozilla 的 Heka 是一个用来收集和整理来自多个不同源的数据的工具,通过对数据进行收集和整理后发送结果报告到不同的目标用于进一步分析。

下载地址:https://github.com/mozilla-services/heka

3、PrestoDB(大数据查询引擎)

Presto是Facebook最新研发的数据查询引擎,可对250PB以上的数据进行快速地交互式分析。据称该引擎的性能是 Hive 的 10 倍以上。

PrestoDB 是 Facebook 推出的一个大数据的分布式 SQL 查询引擎。可对从数 G 到数 P 的大数据进行交互式的查询,查询的速度达到商业数据仓库的级别。

Presto 可以查询包括 Hive、Cassandra 甚至是一些商业的数据存储产品。单个 Presto 查询可合并来自多个数据源的数据进行统一分析。

Presto 的目标是在可期望的响应时间内返回查询结果。Facebook 在内部多个数据存储中使用 Presto 交互式查询,包括 300PB 的数据仓库,超过 1000 个 Facebook 员工每天在使用 Presto 运行超过 3 万个查询,每天扫描超过 1PB 的数据。此外包括 Airbnb 和 Dropbox 也在使用 Presto 产品。

Presto 是一个分布式系统,运行在集群环境中,完整的安装包括一个协调器 (coordinator) 和多个 workers。查询通过例如 Presto CLI 的客户端提交到协调器,协调器负责解析、分析和安排查询到不同的 worker 上执行。

此外,Presto 需要一个数据源来运行查询。当前 Presto 包含一个插件用来查询 Hive 上的数据,要求:

Hadoop CDH4。

远程 Hive metastore service。

Presto 不使用 MapReduce,只需要 HDFS。

大数据相关软件Apache Hadoop YARN、Heka、PrestoDB、Spring XD介绍

大数据相关软件Apache Hadoop YARN、Heka、PrestoDB、Spring XD介绍

要求:

Mac OS X or Linux

Java 7,64-bit

Maven 3 (for building)

Python 2.4+ (用于使用启动脚本运行)

下载地址:https://gitee.com/mirrors/facebook-presto

4、Spring XD(简化大数据应用的开发)

Spring XD 是一个统一的,分布式,可扩展的系统用于数据摄取,实时分析,批量处理和数据导出。该项目的目标是简化大数据应用的开发。

大数据相关软件Apache Hadoop YARN、Heka、PrestoDB、Spring XD介绍

大数据相关软件Apache Hadoop YARN、Heka、PrestoDB、Spring XD介绍

下载地址:https://github.com/spring-projects/spring-xd

注明

以上就是大数据相关软件Apache Hadoop YARN、Heka、PrestoDB、Spring XD的介绍内容,这些大数据相关软件都能使用在Linux操作系统中。

栏目相关文章