Hadoop方法抛出‘java.lang.IllegalStateException‘异常. 无法评估 org.apache.hadoop.mapreduce.Job.toString()

Posted Jaaamieee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop方法抛出‘java.lang.IllegalStateException‘异常. 无法评估 org.apache.hadoop.mapreduce.Job.toString()相关的知识,希望对你有一定的参考价值。

在本地测试MapReduce的驱动类的时候,报错:
方法抛出’java.lang.IllegalStateException’异常. 无法评估 org.apache.hadoop.mapreduce.Job.toString()
虽然报错,但是非阻塞的错误,输出文件夹还是会创建并关闭job.

解决方案:
按照编写的7个步骤逐步debug:

  1. 获取配置信息以及获取job对象
  2. 关联本Driver程序的jar
  3. 关联Mapper和Reducer的jar
  4. 设置Mapper输出的kv类型
  5. 设置最终输出kv类型
  6. 设置输入和输出路径
  7. 提交job

    发现在关联jar之后,就一直报这个错误,所以应该是关联出现了问题。

检查关联jar的代码,发现mapper class的关联写错了,应该是setMapOutputValueClass

再次运行,生成了4个预期文件:

以上是关于Hadoop方法抛出‘java.lang.IllegalStateException‘异常. 无法评估 org.apache.hadoop.mapreduce.Job.toString()的主要内容,如果未能解决你的问题,请参考以下文章

Java 阻塞和同步队列

Hadoop方法抛出‘java.lang.IllegalStateException‘异常. 无法评估 org.apache.hadoop.mapreduce.Job.toString()

Tomcat 之战 - Spring Vaadin 应用程序

将 MutationGroup 流式传输到 Spanner

IllegalArgumentException: requirement failed: Corrupt index found

Spring Boot 版本从 1.5.8 更改为 2.0.0