impala 数据存储分配在哪里?
Posted
技术标签:
【中文标题】impala 数据存储分配在哪里?【英文标题】:Where is impala data storage allocated ? 【发布时间】:2015-02-22 18:04:37 【问题描述】:如果表完全由 impala 管理,是否有任何指定目录供 impala 存储数据?
还是由datanode将数据分配到由datanode目录配置的HDFS中的任何位置,例如/dfs/dn?
如果我的应用程序运行的节点没有运行 datanode,我应该运行 impalad 是最佳实践吗?这样我就可以只使用 localhost 连接到 impala 了吗?否则我将连接到特定的主机和端口?
【问题讨论】:
【参考方案1】:对于由 Impala 管理的表,数据存储在 Hive Metastore 仓库目录中,该目录由 hive-site.xml 中的 Hive Metastore 配置属性“hive.metastore.warehouse.dir”配置。这是 HDFS 中的一个目录,因此数据节点的底层存储位置由 HDFS 配置决定。
您应该在运行数据节点的节点上运行 Impala 守护程序,以便扫描可以与数据位于同一位置。您的应用程序应该连接到远程 Impala 守护程序。在集群中分发请求通常是一个好主意,甚至是必要的,具体取决于工作负载,以避免单个协调器 impalad 的瓶颈。很多人使用 HAProxy 来做这件事,详情见this documentation。
【讨论】:
如果我的节点不运行datanode(因为它不提供hdfs存储),impalad不应该运行我的节点吗?如果是这样,如果有 500 个主机,datanode 和 impalad 都在同一主机上运行,我如何确定为 impala 连接到哪个主机?我应该使用循环吗?这是否意味着我的节点只会安装 impala 而不会运行 impalad? 没错。您应该只在具有数据节点的节点上运行 Impala 守护程序。在集群中分发请求通常是一个好主意,甚至是必要的,具体取决于工作负载,以避免单个协调器 impalad 的瓶颈。很多人使用 HAProxy 来做到这一点:cloudera.com/content/cloudera/en/documentation/core/v5-2-x/…以上是关于impala 数据存储分配在哪里?的主要内容,如果未能解决你的问题,请参考以下文章