0

错误的原因可能是什么?我能够在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 字数。

1. ERROR in WordCount.java (at line 12)
public static class Map extends MapReduceBase implements Mapper <LongWritable, Text, Text, IntWritable> 

Mapper 类型不是通用的;它不能用参数参数化 < LongWritable, Text, Text, >

2. ERROR in WordCount.java (at line 12)
public static class Map extends MapReduceBase implements Mapper <LongWritable, Text, Text, IntWritable> {

语法错误,参数化类型仅在源级别为 5.0 时可用

4

1 回答 1

1

您似乎将一些旧版本的 Hadoop 与新版本混合在一起。此外,您使用了较旧的 mapreduce API i。mapred. 我建议您使用较新的 API 重新编写程序,即mapreduce不要将jars旧的 hadoop 版本与较新的版本混合。

此外,您似乎正在尝试使用与 Eclipse 配置使用的 jre 不同的 jre。用于java -version检查您的机器上安装了哪个版本的 java 并相应地更改 Eclipse 首选项。你可以通过去

Window > Preferences > Java > Installed JRE’s

高温高压

于 2013-06-11T19:01:42.570 回答