如果表完全由impala管理,是否有指定的目录供impala存储数据?或者由datanode将数据分配到由datanode目录配置的hdfs中的任何位置,例如/dfs/dn?如果我的应用程序正在运行一个没有运行datanode的节点,那么最好的做法是运行impalad吗?这样我就可以用localhost连接到 Impala 了?否则我将连接到一个特定的主机和端口?
gk7wooem1#
对于由impala管理的表,数据存储在hive-site.xml中的hive-metastore配置属性“hive.metastore.warehouse.dir”配置的hive-metastore仓库目录中。这是hdfs中的一个目录,因此跨datanodes的底层存储位置由hdfs配置决定。您应该在运行datanodes的节点上运行impala守护程序,以便可以将扫描与数据放在同一位置。你的应用程序应该连接到一个远程impala守护程序。在集群周围分发请求通常是一个好主意,甚至是必要的,这取决于工作负载,以避免单个协调器impalad上的瓶颈。许多人使用haproxy来实现这一点,请参阅此文档以了解详细信息。
1条答案
按热度按时间gk7wooem1#
对于由impala管理的表,数据存储在hive-site.xml中的hive-metastore配置属性“hive.metastore.warehouse.dir”配置的hive-metastore仓库目录中。这是hdfs中的一个目录,因此跨datanodes的底层存储位置由hdfs配置决定。
您应该在运行datanodes的节点上运行impala守护程序,以便可以将扫描与数据放在同一位置。你的应用程序应该连接到一个远程impala守护程序。在集群周围分发请求通常是一个好主意,甚至是必要的,这取决于工作负载,以避免单个协调器impalad上的瓶颈。许多人使用haproxy来实现这一点,请参阅此文档以了解详细信息。