Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.
sqoop Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.http.HttpConfig.getSchemePrefix()Ljava/lang/String; 해결->실패
hadoop 2.6.0환경에서 sqoop 1.4.6을 설치하고 sqoop-import를 실행하면 아래와 같은 오류가 발생하는데..
sqoop이 사용하는 jar파일과 설치된 hadoop jar파일중 일부에서 변경사항이 생겨서 문제가 발생한것이다.
(https://issues.apache.org/jira/browse/MAPREDUCE-6167)
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.http.HttpConfig.getSchemePrefix()Ljava/lang/String;
-->해결방법(sqoop : sqoop-1.4.6.bin__hadoop-2.0.4-alpha, hadoop : hadoop 2.6.0인 경우)이 설치된 폴더에서)...
cp /usr/local/hadoop/share/hadoop/mapreduce/*.jar /usr/local/sqoop/lib하고 실행시키면 정상적으로 작동된다.
====> 처음 한번정도 실행되지만 이후는 map 100% reduce 0%에서 멈춰있다가.. 아래와 같은 오류가 발생하면서 job이 fail된다.
Container killed on request. Exit code is 143
Container exited with a non-zero exit code 143
===> oozie가 사용하는 sharelibs의 sqoop등 관련 라이브러리를 hadoop2로 변경및 hadoop2기반으로 생성된 lib로 교체해주어야 한다.
===>인터넷 사이트 참조할것
----참고--------
sqoop-export --connect jdbc:postgresql://server.mydb.com:5432/destdb --username abc --password abcpass --table test --input-fields-terminated-by '