【问题标题】:Where is impala data storage allocated ?impala 数据存储分配在哪里?
【发布时间】:2015-02-22 18:04:37
【问题描述】:

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

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

如果我的应用程序运行的节点没有运行 datanode,我应该运行 impalad 是最佳实践吗?这样我就可以只使用 localhost 连接到 impala 了吗?否则我将连接到特定的主机和端口?

【问题讨论】:

    标签: cloudera-cdh 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/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-08
    • 2018-02-28
    • 2014-10-28
    • 2015-11-17
    • 2012-04-11
    • 2011-12-14
    • 2020-01-07
    相关资源
    最近更新 更多