猪本地模式泄漏数据问题

时间:2015-04-02 04:00:14

标签: hadoop mapreduce apache-pig bigdata

我正在尝试解决此问题,但无法理解。我的开发机器中的pig脚本成功运行了1.8 GB的数据文件。 当我试图在服务器中运行它时,它说它找不到本地设备来溢出数据spill0.out 我修改了pig.property文件中的pig.temp.Dir属性,指向一个有空格的位置..

错误: org.apache.hadoop.util.DiskChecker $ DiskErrorException:找不到output / spill0.out的任何有效本地目录

那么如何找出猪在哪里泄露数据,我们是否可以以某种方式更改猪的泄漏目录位置。

我在本地模式下使用猪。

任何想法或建议或解决方法都会有很大的帮助。

谢谢..

3 个答案:

答案 0 :(得分:1)

我找到了答案。

我们需要将以下内容放到$ PIG_HOME / conf / pig.properties文件中

mapreduce.jobtracker.staging.root.dir
mapred.local.dir
pig.temp.dir

然后测试。

这有助于我解决问题。

答案 1 :(得分:0)

猪不是问题。 我没有使用猪,我也有完全相同的错误。 这个问题似乎与Hadoop有关。我也在本地模式下使用它。我正在使用Hadoop 2.6.0

答案 2 :(得分:0)

我对这些答案没有运气,Pig(版本0.15.0)仍在将pigbag*文件写入/tmp dir所以我只是重命名了我的/tmp目录并创建了一个符号链接到这样的理想位置:

sudo -s #change to root
cd /
mv tmp tmp_local
ln -s /desired/new/tmp/location tmp
chmod 1777 tmp
mv tmp_local/* tmp

确保在运行这些命令时没有活动的应用程序写入tmp文件夹。