hadoop:mapred.localjobrunner:missingresourceexception

lvmkulzt  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(346)

我正在尝试设置一个简单的mapreduce应用程序,其中包含自定义的记录读取器、Map器和reducer。直到(包括)mapper它似乎工作(当调用context.write时,我在控制台上编写了键值对进行测试)。
然后我得到消息
“14/03/04 14:25:43 info mapred.jobclient:Map100%减少0%”。
但在那之后,我每隔3秒就进入一个无限循环
“14/03/04 14:25:45 info mapred.localjobrunner:”
没有一个详细的信息或其他任何东西。
在我的ide中启用记录所有异常时,我在上面的每条消息之后都会得到以下异常:
在java.util.resourcebundle.throwmissingresourceexception(resourcebundle)的线程“通信线程”中发生异常“java.util.missingresourceexception”。java:1499)
我在作业的配置中定义了Map器和缩减器,但似乎找不到缩减器类(?)。在减速机内部做了一个断点,程序永远不会到这一行。
我的pom.xml:

<dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-hadoop</artifactId>
        <version>1.0.2.RELEASE</version>
        </dependency>

我的工作是:

Job job = new Job(new Configuration());
    job.setOutputKeyClass(IntWritable.class);
    job.setOutputValueClass(Text.class);
    job.setMapOutputKeyClass(IntWritable.class);
    job.setMapOutputValueClass(IntWritable.class);
    job.setMapperClass(DataFileMapper.class);
    job.setReducerClass(DataFileReducer.class);
    job.setInputFormatClass(HourBlockInputFormat.class);

    FileInputFormat.addInputPath(job, new Path("..."));
    FileOutputFormat.setOutputPath(job, new Path("..."));
    job.submit();

如有任何建议,我将不胜感激,
最好的

cbjzeqam

cbjzeqam1#

我得到了同样的错误(无限循环)。我通过更新pom.xml文件解决了这个问题。

<dependencies>
    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-mapreduce-client-common</artifactId>
        <version>2.7.1</version>
    </dependency>
<dependencies>

在mypom.xml文件中添加上述依赖项。也许对你有帮助。对我来说,它解决了问题。
如果您有任何问题,请发表意见。

相关问题