[HADOOP] 스레드“main”java.lang.VerifyError 예외 : 피연산자 스택의 잘못된 유형
HADOOP스레드“main”java.lang.VerifyError 예외 : 피연산자 스택의 잘못된 유형
이 오류는 주어진 input.txt 파일에서 최대 온도 찾기를위한 map-reduce 프로그램에서 발생했습니다. 연도와 온도 인 두 개의 열을 씁니다.
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.JDK 버전을 7로 낮추고 oracle 사이트에서 JDK를 다운로드하십시오.
JDK 버전을 7로 낮추고 oracle 사이트에서 JDK를 다운로드하십시오.
JDK 7로 문제를 해결할 수 있습니다.
-
==============================
2.기본적으로 JVM 실행 스택에서 유형이 일치하지 않습니다.
기본적으로 JVM 실행 스택에서 유형이 일치하지 않습니다.
하둡의 버그.
from https://stackoverflow.com/questions/28515890/exception-in-thread-main-java-lang-verifyerror-bad-type-on-operand-stack by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] hadoop 기반 데이터 파이프 라인 구축을위한 스케줄링 도구 제안 (0) | 2019.08.12 |
---|---|
[HADOOP] HBase MapReduce 작업에서 기본 공유 라이브러리로드 (0) | 2019.08.12 |
[HADOOP] script-runner.jar을 통해 실행중인 스크립트의 작업 흐름 ID, 기타 클러스터 매개 변수를 확인하는 방법 (0) | 2019.08.11 |
[HADOOP] 하이브 컨텍스트를 사용하여 스파크에서 하이브 테이블을 효율적으로 쿼리하는 방법은 무엇입니까? (0) | 2019.08.11 |
[HADOOP] 하둡 직업이 스스로 죽일 수있는 방법 (0) | 2019.08.11 |