filealreadyexistsexception

dsf9zpds  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(299)

我在ubuntu 14.04上使用Hadoop2.5.1
现在我尝试使用multipleoutputs类。这些作业可以在8行输入之类的小数据上正常运行。但是当我尝试用1000+行运行数据时(我认为这不是big而是大于8行),任务失败了,抛出异常

org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.fs.FileAlreadyExistsException): /out/_temporary/1/_temporary/attempt_1430139159731_0055_m_000000_0/MYFOLDERNAME-m-00000 for client MY_MASTER/SLAVE_IP already exists

我正在运行2个节点完全分布式模式。
在运行作业之前,我还仔细检查了hdfs是否存在文件。
有什么建议吗。

prdp8dxp

prdp8dxp1#

我相信您正在初始化reduce方法中的multipleoutputs。对于小输入,reduce方法只调用一次,因此您不会面临这个问题。当reduce方法在同一个任务中用不同的键被多次调用时,多个输出被多次初始化,从而产生错误。
尝试在configure()方法中初始化multipleoutput。
同时尝试注解combiner类。

相关问题