hadoop - Hadoop调用了错误的API

标签 hadoop mapreduce

我想使用org.apache.hadoop.mapreduce API在Hadoop 2.3.0中做一个简单的map reduce函数,但是当我尝试运行它时,出现以下错误

org.apache.hadoop.mapreduce.lib.input.FileSplit cannot be cast to org.apache.hadoop.mapred.InputSplit. 

由于我在mapreduce函数中使用的是这个
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.conf.*;
import org.apache.hadoop.io.*;
import org.apache.hadoop.mapreduce.*;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.input.TextInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
import org.apache.hadoop.mapreduce.lib.output.TextOutputFormat;

我不知道为什么它会继续使用旧的API,是否有一些我修改过的配置文件?

最佳答案

尝试使用hadoop dfsadmin -refreshNodes命令刷新节点。这样它将获取新的API。

关于hadoop - Hadoop调用了错误的API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22758775/

相关文章:

java - Oozie Java Action 和Spark Action 在同一工作流程中出现错误

hadoop - 如何生成元组? pig 的运算符(operator)

java - CMAKE-COMPILE 在 hadoop-hdfs-native 客户端中失败

java - 如何在MapReduce程序中使用本地聚合方法,例如in-mapper combiner?

python - 在将输入发送到 mrjob 映射器之前如何过滤 s3 文件?

database - CouchDB - "Plucking"来自 View 的最近邻居文档。

java - Hadoop Mapreduce中的XML解析

python - PySpark应用程序在纱簇模式和独立模式下提交错误

sorting - MapReduce - 如何按值排序减少输出

hadoop - Cassandra-Hadoop集成