Exception in thread “main” java.lang.VerifyError: Bad type on operand stack

瘦欲@ 提交于 2020-01-02 11:59:50

问题


This error has been occured in map-reduce program for find max-temperature in given input.txt file. i write two column which are year and temperature.

    Exception in thread "main" java.lang.VerifyError: Bad type on operand stack
Exception Details:
  Location:
    org/apache/hadoop/mapred/JobTrackerInstrumentation.create(Lorg/apache/hadoop/mapred/JobTracker;Lorg/apache/hadoop/mapred/JobConf;)Lorg/apache/hadoop/mapred/JobTrackerInstrumentation; @5: invokestatic
  Reason:
    Type 'org/apache/hadoop/metrics2/lib/DefaultMetricsSystem' (current frame, stack[2]) is not assignable to 'org/apache/hadoop/metrics2/MetricsSystem'
  Current Frame:
    bci: @5
    flags: { }
    locals: { 'org/apache/hadoop/mapred/JobTracker', 'org/apache/hadoop/mapred/JobConf' }
    stack: { 'org/apache/hadoop/mapred/JobTracker', 'org/apache/hadoop/mapred/JobConf', 'org/apache/hadoop/metrics2/lib/DefaultMetricsSystem' }
  Bytecode:
    0000000: 2a2b b200 03b8 0004 b0                 

    at org.apache.hadoop.mapred.LocalJobRunner.<init>(LocalJobRunner.java:422)
    at org.apache.hadoop.mapred.JobClient.init(JobClient.java:488)
    at org.apache.hadoop.mapred.JobClient.<init>(JobClient.java:473)
    at org.apache.hadoop.mapreduce.Job$1.run(Job.java:513)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:415)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1614)
    at org.apache.hadoop.mapreduce.Job.connect(Job.java:511)
    at org.apache.hadoop.mapreduce.Job.submit(Job.java:499)
    at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:530)
    at com.letsdobigdata.MaxTemperatureDriver.run(MaxTemperatureDriver.java:35)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84)
    at com.letsdobigdata.MaxTemperatureDriver.main(MaxTemperatureDriver.java:41)

回答1:


Please try to lower the JDK version to 7.And download the JDK from oracle site.

I could solve the problem with JDK 7.




回答2:


It's basically a type mismatch on the JVM execution stack.

Definitely a bug in Hadoop.



来源:https://stackoverflow.com/questions/28515890/exception-in-thread-main-java-lang-verifyerror-bad-type-on-operand-stack

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!