* 아래와 같은 에러 발생 시
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 으로 시작하는 다른 파일이 있을 경우 주의해서 사용하세요.