* 아래와 같은 에러 발생 시

1
2
3
4
5
6
7
8
9
10
com.fasterxml.jackson.databind.JsonMappingException: Jackson version is too old 2.5.3
  at com.fasterxml.jackson.module.scala.JacksonModule$class.setupModule(JacksonModule.scala:56)
  at com.fasterxml.jackson.module.scala.DefaultScalaModule.setupModule(DefaultScalaModule.scala:19)
  at com.fasterxml.jackson.databind.ObjectMapper.registerModule(ObjectMapper.java:651)
  at org.apache.spark.rdd.RDDOperationScope$.<init>(RDDOperationScope.scala:82)
  at org.apache.spark.rdd.RDDOperationScope$.<clinit>(RDDOperationScope.scala)
  at org.apache.spark.SparkContext.withScope(SparkContext.scala:701)
  at org.apache.spark.SparkContext.textFile(SparkContext.scala:830)
  ... 47 elided
 
cs



* 발생 원인

 : 현재 참조되고 있는 jackson 관련 jar 파일이 너무 오래되서 발생되고 있는 문제입니다.



* 조치 사항

 : wget 명령어를 통해 상위 버전의 jackson 관련 jar 파일을 내려받아 zeppelin 이하의 library 디렉터리에 복사를 합니다.

1. wget 을 통해 관련 jar 파일을 내려받습니다.

1
2
3
4
wget http://central.maven.org/maven2/com/fasterxml/jackson/core/jackson-core/2.6.2/jackson-core-2.6.2.jar
wget http://central.maven.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.6.2/jackson-databind-2.6.2.jar
wget http://central.maven.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.6.2/jackson-annotations-2.6.2.jar
 
cs



2. 관련 jar 파일 확인

1
2
3
4
5
$ ll |grep jackson
-rw-r--r--  1 hadoop-user hadoop   46969 Sep 15  2015 jackson-annotations-2.6.2.jar
-rw-r--r--  1 hadoop-user hadoop  258824 Sep 15  2015 jackson-core-2.6.2.jar
-rw-r--r--  1 hadoop-user hadoop 1167351 Sep 15  2015 jackson-databind-2.6.2.jar
 
cs



3. zeppelin 이하의 lib 디렉터리에 복사

1
2
$ cp ~/jackson* /usr/local/zeppelin/lib
 
cs

* 위의 jackson* 은 jackson 으로 시작하는 모든 파일을 의미하는 것으로 jackson 으로 시작하는 다른 파일이 있을 경우 주의해서 사용하세요.



+ Recent posts