gpt4 book ai didi

hadoop - Hive 查询运行很慢

转载 作者:可可西里 更新时间:2023-11-01 16:26:17 37 4
gpt4 key购买 nike

我的任务是安装和配置一个双节点集群,以用作 Hadoop 的概念验证。集群包含一台既是主机又是从机的机器,另一台是从机。两者都安装在具有 16GB RAM 的 Ubuntu 14.04 虚拟机上。

所以我能够在两台机器上安装 Hadoop 2.4,成功运行 hdfs、yarn、hive 等。我现在的问题是,一旦我开始添加更大的文件/更多数据,查询就会变得非常慢。

例如,从程序中选择 count()。程序包含 45000 行,总共约 2.5 MB。初始化后只需几秒钟即可获得结果。现在在另一个包含近 1700 万行、3.6GB 的表上运行相同的查询需要更长的时间(据我所知应该如此)。如果我在这个大表上运行 count() 或及其变体,则需要不同的时间。第一次需要 4 分钟。我在第一次完成后立即运行它,需要 17 分钟。运行之间没有任何变化,所以我不确定发生了什么。在这些长时间的运行过程中,机器经常会死机并且对任何输入都没有反应。 map 将保持在 0% 5 分钟,跳到大约 30%,然后慢慢增加。

我的问题是:这是正常行为吗?如果我立即再次运行同一个作业,我希望它具有一致的运行时间。也许 Ubuntu 存在潜在问题,我不确定。如果我在工作期间监控 CPU 或磁盘使用情况,它们都不会是疯狂的高地,所以我不确定它卡在哪里。查看日志文件没有显示任何异常。如果作业特别慢(超过 45 分钟),日志文件将显示一堆 SocketTimeoutExceptions。

我尝试过不同的配置选项,但似乎没有任何帮助。

如有任何帮助,我们将不胜感激。

最佳答案

这不是正常行为。在 Hive 中,我可以在不到一分钟的时间内处理大约 1700 万个点,包括在 map/reduce 初始化期间花费的时间。我将列出几个可能导致您性能低下的问题。

  • 虚拟机不适合 Hadoop。您需要具有专用本地存储的机器,因为磁盘 I/O 通常是最大的性能瓶颈。
  • 您只有两台机器(而且它们是 VM...)运行所有 Hadoop 服务,包括但不限于主服务,例如资源管理器 (YARN)、Hive 服务器NameNode (HDFS)。这不会为 map/reduce 任务留下太多余地。

供引用 - 在我们的开发集群上,我们有 3 台机器专用于这些主服务。它们不运行任何 map/reduce 任务,也不是分布式存储的一部分。

Hadoop 当然不是每个用例的最佳或最快的选择,但您的沙盒集群并没有真正给它太多机会发挥作用。

关于hadoop - Hive 查询运行很慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24417677/

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