impala 数据存储分配在哪里?

Where is impala data storage allocated ?

如果table完全由impala管理,是否有指定目录供impala存储数据?

或者由datanode将数据分配到datanode目录配置的HDFS中的任何位置,例如/dfs/dn?

如果我的应用程序是 运行 不是 运行 数据节点的节点,我应该有一个 impalad 运行 是最佳实践吗?这样我就可以连接到 impala anywhwere 只是使用本地主机?否则我将连接到特定的主机和端口?

对于Impala管理的表,数据存储在hive-site.xml中Hive metastore配置属性 'hive.metastore.warehouse.dir'配置的Hive metastore仓库目录中.这是 HDFS 中的目录,因此跨数据节点的底层存储位置由 HDFS 配置决定。

您应该 运行 Impala 具有数据节点 运行ning 的节点上的守护程序,以便扫描可以与数据位于同一位置。您的应用程序应连接到远程 Impala 守护进程。根据工作负载,在集群周围分发请求通常是一个好主意,甚至是必要的,以避免单个协调器 impalad 出现瓶颈。许多人使用 HAProxy 来执行此操作,有关详细信息,请参阅 this documentation