我在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
所以我对此有两个问题:
非常感谢任何帮助!
答案 0 :(得分:0)
事实证明,我错过了必需品。在所有节点中将HADOOP_MAPRED_HOME设置为/ usr / lib / hadoop-mapreduce之后,所有问题都得到了解决。