【问题标题】:Hive running in local mode, taking excessive amount of /tmp local disk spaceHive 在本地模式下运行,占用过多的 /tmp 本地磁盘空间
【发布时间】:2015-08-07 03:27:39
【问题描述】:

我在 hive 中运行一个复杂的查询,运行时开始使用 /tmp 文件夹中的大量本地磁盘空间,并最终以空间错误结束,因为 /tmp 文件夹完全被中间映射填满-由于提到的查询减少了结果(/tmp 文件夹是在单独的分区中创建的,有 100 GB 的空白空间)。运行时说:

Execution completed successfully

MapredLocal task succeeded

Launching Job 1 out of 3

Number of reduce tasks is set to 0 since there's no reduce operator

Job running in-process (local Hadoop)

正如您在上面看到的,Hive 以某种方式在本地模式下运行。在网上做了一些研究后,我检查了一些相关参数,结果如下:

hive> set hive.exec.mode.local.auto;

hive.exec.mode.local.auto=false

hive> set mapred.job.tracker;

mapred.job.tracker=local

hive> set mapred.local.dir;

mapred.local.dir=/tmp/hadoop-hive/mapred/local

所以我对此有两个问题:

  1. 这可能是 map-reduce 作业消耗本地磁盘空间而不是 hdfs /tmp 文件夹上的空间的原因吗,就像 pig 脚本的典型情况一样?
  2. 在给定当前设置的情况下,如何使 Hive 在分布式模式下运行?请注意,我在集群中使用 MRV2,但上述选项令人困惑,因为它们似乎与 MRV1 相关。作为新手,我在这里可能是错的。

任何帮助将不胜感激!

【问题讨论】:

    标签: hadoop hive cloudera-cdh mrv2


    【解决方案1】:

    事实证明,我错过了最基本的必需品。在所有节点中将 HADOOP_MAPRED_HOME 设置为 /usr/lib/hadoop-mapreduce 后,所有问题都已修复。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-11
      • 2019-07-06
      • 1970-01-01
      • 2018-07-22
      相关资源
      最近更新 更多