我在Ubuntu 14.04上使用Hadoop 2.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。
请提出任何建议。
答案 0 :(得分:0)
我相信你正在初始化reduce方法中的MultipleOutputs。使用小输入reduce方法只调用一次,因此您不会遇到此问题。当使用不同的键在同一任务中多次调用reduce方法时,多次输出会被多次初始化,从而产生错误。
尝试在configure()方法中初始化MultipleOutput。
还尝试注释掉组合器类。