错误的原因是什么?我能够在mac eclipse上成功编译。但不是在运行CDH4的hadoop服务器上。
root @ hadoop] #javac -cp /usr/lib/hadoop/hadoop-common.jar:/usr/lib/hadoop/client-0.20/commons-cli-1.2.jar:/usr/lib/hadoop/ client-0.20 / hadoop-core-2.0.0-mr1-cdh4.1.3.jar WordCount。
1. ERROR in WordCount.java (at line 12)
public static class Map extends MapReduceBase implements Mapper <LongWritable, Text, Text, IntWritable>
Mapper类型不是通用的;它不能用参数&lt;参数化LongWritable,Text,Text,&gt;
2. ERROR in WordCount.java (at line 12)
public static class Map extends MapReduceBase implements Mapper <LongWritable, Text, Text, IntWritable> {
语法错误,参数化类型仅在源级别为5.0
时可用答案 0 :(得分:1)
您似乎已将旧版本的Hadoop与较新版本混合使用。此外,您已使用旧的mapreduce API i。 mapred
。我建议你使用较新的API重新编写程序,例如mapreduce
,而不将旧的hadoop版本的jars
与新版本混合。
此外,您似乎正在尝试使用与Eclipse配置使用的jre不同的jre。使用java -version
检查计算机上安装的java版本,并相应地更改Eclipse首选项。你可以转到
Window > Preferences > Java > Installed JRE’s
HTH