gpt4 book ai didi

hadoop - 如何为 Multi-Tenancy 配置 Hive Impala/Spark?

转载 作者:可可西里 更新时间:2023-11-01 14:56:02 27 4
gpt4 key购买 nike

试图找出答案,但当我想到以下内容时找不到答案。

它涵盖了 Spark、Impala、MR、Hive Multi-Tenancy 。 Impala 给出的场景。我觉得它也可以应用于 Spark,因为 Impala/Spark 都是内存占用。

场景 1 假设我们为 MR、Hive 和 Impala 创建一个具有 Multi-Tenancy 的 10 节点集群,其中 40% 的资源静态分配给 Impala。为了运行 Impala,我们创建了具有 256 GB RAM 数据节点的集群。

问题是对于这种配置,我们正在失去低成本低 GB 的优势,即 32-40 GB RAM 和 5-6 个核心节点,这是 MR/的主要卖点之一Hadoop 可在处理 100TB 数据期间以极低的成本进行扩展。

场景 2:创建一个混合了 256GB RAM 和 32-40GB RAM 节点的集群

问题是在这种情况下,Impala 将不会运行,因为我们无法根据我的理解指示在集群中运行 Impala 守护程序的特定数据节点中创建 Hive 表。

场景 3:创建单独的集群,即无 Multi-Tenancy 。在那些情况下,我们需要将数据从 Hive 复制到 Impala 集群。

问题是这变成了另一个增量过程/ETL 层。

类似上面的场景我觉得它适用于spark因为SPARK也需要大内存才能运行。

我们可以说创建一个 MR、HIVE、HBASE、Streaming Multi-Tenancy 集群和一个单独的 Impala、Spark Multi-Tenancy 集群吗?

最佳答案

这是我根据以上评论收集的答案。

我创建了一个 Multi-Tenancy 集群,其中包含基于配置单元的表(使用混合 HDFS + S3)以及 spark 和 impala。虽然我已经几个月没有规范了,但我发现 impala 通常表现良好,我相信它在数百亿条记录(数十/数百 TB 未压缩)上是 16GB,每条大约 70列宽,以 parquet 格式(每个 gz 压缩文件约 1GB)同时处理一个或两个查询。查询是聚合加上连接到较小的事实表,这些表也是 Parquet 格式。连接通常在一个查询中涉及许多其他表,范围从数亿条记录到极小的数十条记录表,通常一次访问大约 10-20 列,一次使用大约一半的数十亿条记录。 Spark 使用 YARN 也做得很好,内存也不是大问题。数据/任务节点是 17 个 EC2 i3.2xlarge,因为它们具有出色的性能和值(value)(re NVMes,价格激进)。

我在评论中没有提到的一点是,您可能能够超额订阅内存,这样您就可以通过充分利用集群的资源来最大限度地提高每个工具的性能。这里自然要注意,如果/当您实际上尝试一次使用所有这些资源时,超额预订意味着更高的问题风险(请参阅:航空公司超额预订)。

关于hadoop - 如何为 Multi-Tenancy 配置 Hive Impala/Spark?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46491999/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com