본문 바로가기
빅데이터/hive

[hive] hive3의 mr 엔진에서 java.lang.IncompatibleClassChangeError 오류 처리

by hs_seo 2021. 5. 27.

하이브3에서 mr 엔진을 이용할 때 java.lang.IncompatibleClassChangeError 오류가 발생할 수 있습니다. 라이브러리가 맞지 않아서 발생하는 문제입니다. jersey-json-1.19.jar 라이브러리를 하이브 홈으로 복사합니다.

 

  • jersey-json 라이브러리를 확인
    • {HADOOP_HOME}/share/hadoop/common/lib/jersey-json-1.19.jar
  • {HIVE_HOME}/lib 로 복사

 

hive (default)> show databases;
FAILED: Hive Internal Error: java.lang.IncompatibleClassChangeError(com.sun.jersey.json.impl.provider.entity.JSONRootElementProvider and com.sun.jersey.json.impl.provider.entity.JSONRootElementProvider$Wadl disagree on InnerClasses attribute)
java.lang.IncompatibleClassChangeError: com.sun.jersey.json.impl.provider.entity.JSONRootElementProvider and com.sun.jersey.json.impl.provider.entity.JSONRootElementProvider$Wadl disagree on InnerClasses attribute
	at java.lang.Class.getDeclaringClass0(Native Method)
	at java.lang.Class.getDeclaringClass(Class.java:1235)
	at java.lang.Class.getEnclosingClass(Class.java:1277)
	at com.sun.jersey.core.spi.component.ComponentConstructor.getInstance(ComponentConstructor.java:170)
반응형