前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >EMR(弹性MapReduce)入门之其他组件使用和排障(十二)

EMR(弹性MapReduce)入门之其他组件使用和排障(十二)

原创
作者头像
小司机带你入门EMR
修改2020-02-13 18:32:25
9070
修改2020-02-13 18:32:25
举报
文章被收录于专栏:EMR冲鸭

Impala介绍

Impala的优点

  • Impala可以根据Apache许可证作为开源免费提供。
  • Impala支持内存中数据处理,它访问/分析存储在Hadoop数据节点上的数据,而无需数据移动。 [2]
  • 使用类SQL查询访问数据。
  • Impala为HDFS中的数据提供了更快的访问。
  • 可以将数据存储在Impala存储系统中,如Apache HBase和Amazon s3。
  • Impala支持各种文件格式,如LZO,序列文件,Avro,RCFile和Parquet。

Impala的作业流程

服务器启动时,Impalad与StateStore保持心跳。首先Impala节点会将自己节点的状态信息汇报给Statestore,Statestore实时监控impalad是否发生故障。然后Catalog与Hive进行通信,将Hive中Metastore中的元数据信息拉取到自己的字节上,然后以广播的形式发送给每个状态良好的Impalad节点上,使各个节点上的元数据保持一致。然后当客户端进行提交sql请求的时候,不会再向那个hive中进行MRjob了,而是直接作用在Impalad上,直接在impalad上生成执行计划数,进行快速查询。Impalad由于作用在HDFS上或者HBase上的,所以不许转换成MR job的sql请求时非常快的了。Query任务的执行直接是作用在HDFS上的。

当clinet执行数据的更新操作,即数据的append追加错误时,将数据当Impalad数据执行完毕后,Impalad会向StateStore进行发送元数据,Satestore将接收到的元数据推给Catelog,Catelog将所有接收到的元数据进行汇总,然后将汇总后的总元数据以广播的形式发送给每个Impala节点然后将数据,使得每台Impalad节点上的元数据都同步了,之后Catalog又将汇总后的元数据发送给MetaStore一份,使得hive中的元数据和Impala中的元数据是一样的。当Impala集群出现故障时,由于hive中还有完整的原数据这样保障了元数据的丢失,当Impala集群开启时,又通过Catalog将元数据同步到Impalad上,这样有可以进行工作了。

Impalad拥有所有元数据的信息时,当客户端提交查询的时候,会在离最近的一台节点上进行查询,由于每台节点都同步了所有节点的元数据,当从原数据进行查询的时候,就可以知道需要的数据位置在哪台Impalad节点上,这样就可以直接作用到指定的数据节点上进行查询。

Impala常见运维

1、集群中一部分节点的Impala配置成了20000系列的端口,而监控元数据记录的端口为27000,导致不停重启impalad进程

解决方法:对集群维度进行一次配置下发就可以了

2、配置低,导致impala查询慢

虽然Impala不是内存数据库,但在做处理大型表,大型数据时,还是应该为Impalad分配更多的物理内存, 一般建议是使用128G或者更多的内存。 并分配80%给到Impalad进程。

Kylin介绍

定义

Apache Kylin是一个开源的分布式分析引擎,提供Hadoop/Spark之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay开发并贡献至开源社区。它能在亚秒内查询巨大的Hive表。

特点

 Kylin的主要特点包括支持SQL接口、支持超大规模数据集、亚秒级响应、可伸缩性、高吞吐率、BI工具集成等。

架构

(1) REST Serve

    REST Server是一套面向应用程序开发的入口点,旨在实现针对Kylin平台的应用开发工作。 此类应用程序可以提供查询、获取结果、触发cube构建任务、获取元数据以及获取用户权限等等。另外可以通过Restful接口实现SQL查询。

(2) 查询引擎(Query Engine)

    当cube准备就绪后,查询引擎就能够获取并解析用户查询。它随后会与系统中的其它组件进行交互,从而向用户返回对应的结果。

(3) Routing

    负责将解析的SQL生成的执行计划转换成cube缓存的查询,cube是通过预计算缓存在hbase中,这部分查询可以在秒级设置毫秒级完成,而且还有一些操作使用过的查询原始数据(存储在Hadoop的hdfs中通过hive查询)。这部分查询延迟较高。

(4) 元数据管理工具(Metadata)

    Kylin是一款元数据驱动型应用程序。元数据管理工具是一大关键性组件,用于对保存在Kylin当中的所有元数据进行管理,其中包括最为重要的cube元数据。其它全部组件的正常运作都需以元数据管理工具为基础。 Kylin的元数据存储在hbase中。

(5) 任务引擎(Cube Build Engine)

    这套引擎的设计目的在于处理所有离线任务,其中包括shell脚本、Java API以及Map Reduce任务等等。任务引擎对Kylin当中的全部任务加以管理与协调,从而确保每一项任务都能得到切实执行并解决其间出现的故障。  

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Impala介绍
    • Impala的优点
      • Impala的作业流程
      • Impala常见运维
      • Kylin介绍
        • 定义
          • 特点
            • 架构
            相关产品与服务
            大数据
            全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档