前言
这里主要介绍了关于Impala如何管理其元数据的原理,方便日后对其进行性能及可拓展性调优。
Impala架构
impala组成架构图如下:
- CatalogServer(Catalogd):负责元数据的获取和DDL的执行
- Statestore Server(Statestored):负责消息/元数据的广播
- ImpalaDaemon(Impalad):负责查询的接收和执行
- coordinator only:查询的接收,计划的生成,查询的调度
- executor only:数据的读取和计算
- coordinator and executor:
注意:生产中impalad建议做好角色分离,每个impalad要么是coordinator要么是excutor。按1:50比例配置。
Impala工作原理
impala外部元数据来源:
1、来自Hive Metastore的目录信息
2、来自NameNode的文件元数据
Impala的元数据缓存在catalogd和各个Coordinator角色的Impalad中。Catalogd中的缓存是最新的,各个Coordinator都缓存的是Catalogd内元数据的一个复本。架构示意图如下: