Impala优化

一、Impala实例角色

Impala Daemon

Impala daemon(也称为impalad)在安装Impala的每个节点上运行,与DataNode运行在同一节点上,由Impalad进程表示,一个datanode对应一个impalad。 这是ImpalaServer的核心组件,即运行在集群每个node上的impalad守护进程。它负责读写数据文件,接受impala-shell、Hue、JDBC、ODBC传来的query,对查询进行并行化处理,并分发work给集群的每个节点,传递中间结果给协调者节点。

Impala Catalog Server

Catalog service组件在所有节点中传递metadata的变化。它由catalogd进程代表,仅需要运行在一个节点上。由于请求是通过statestore进程传递的,故通常把statestored进程和catalogd进程运行在同一个节点上。

Impala StateStore

Statestore组件检查impalad的健康状况,并不断传递它的发现给每个impalad。它由一个statestored守护进程代表,仅仅需要运行在集群的一个节点上。如果一个impala节点掉线了,statestore通知所有其他节点以便未来的查询可以避免向该坏节点发送请求。

二、优化

1、运行环境

官方文档

  • 内存:推荐128GB或者更多,最好是256GB或者更多
  • JVM:推荐4GB或者更多,最好是8GB或者更多
  • 存储:与DataNode相关

2、安装方式

  • Impala DaemonDataNode节点一一对应安装。即,有三台主机安装了DataNode,那么Impala Daemon也要在这三台主机上安装。
  • Impala Catalog ServerImpala StateStore负责监控Impala Daemon的运行健康状况与日志记录,不宜与Impala Daemon安装在同一个主机上,一方面影响效率,另一方面如果Impala Daemon这台主机挂了,监控服务也会跟着挂掉。
  • Impala Catalog ServerImpala StateStore之间需要通讯,为了减少通讯损耗,这两个服务可以安装在同一台主机上。
发布了146 篇原创文章 · 获赞 25 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_39680564/article/details/104060165