복붙노트

[HADOOP] 하둡은 - 의존성의 많은 작업을 제출 (jar 파일)

HADOOP

하둡은 - 의존성의 많은 작업을 제출 (jar 파일)

나는 수신 메시지에 대한 MQ를보고지도를 제출 / 하둡에 작업을 감소시킬 것이다 "부트 스트랩"클래스의 어떤 종류를 쓰고 싶어요. 이러한 작업은 크게 몇 가지 외부 라이브러리를 사용합니다. 순간을 위해 나는 빈, lib 디렉토리에 ZIP 파일로 패키지 이러한 작업의 구현을 가지고 있고 (내가 함께 일을 묶어 받는다는 - 조립 플러그인을 사용하고 있습니다) 폴더를 기록합니다.

지금은 기존 응용 프로그램의 일부를 사용 매퍼와 감속기를위한 작은 래퍼를 제공하고자합니다.

작업이 제출 될 때 지금까지 내가 배운대로, 하둡은 매퍼 / 감속기 클래스가 JAR 파일을 발견하고, 데이터를 처리하는 데 사용되는 데이터 노드에 네트워크를 통해이 병을 복사하려고합니다. 그러나 나는 모든 종속성을 복사 하둡에게 어떻게 명확하지 않다?

나는 작업과 의존성, 그리고 (항아리는 하둡 쉘 스크립트로 실행됩니다) 부트 스트랩의 또 다른 항아리와 동네 짱 - 단지를 만들 받는다는 그늘 - 플러그인을 사용할 수 있습니다.

조언을 주시기 바랍니다.

해결법

  1. ==============================

    1.한 가지 방법은 분산 캐시에 필요한 항아리를 넣어 수 있습니다. 또 다른 대안은 하둡 노드에 필요한 모든 항아리를 설치하고 자신의 위치에 대한 TaskTrackers 얘기하는 것입니다. 난 당신이 한 번이 게시물을 통해 이동하는 것이 좋습니다 것입니다. 같은 문제에 대한 회담.

    한 가지 방법은 분산 캐시에 필요한 항아리를 넣어 수 있습니다. 또 다른 대안은 하둡 노드에 필요한 모든 항아리를 설치하고 자신의 위치에 대한 TaskTrackers 얘기하는 것입니다. 난 당신이 한 번이 게시물을 통해 이동하는 것이 좋습니다 것입니다. 같은 문제에 대한 회담.

  2. ==============================

    2.종속성을 관리 할 수 ​​받는다는 사용하여 빌드 및 배포 중에 올바른 버전이 사용됩니다 확인합니다. 인기있는 IDE의의는 편집을 위해 건물 클래스 경로에 대해 걱정하고 구축 할 필요가 없습니다 그것을 만드는 받는다는 지원합니다. 마지막으로, 하나의 단지를 구축 받는다는 지시 할 수 있습니다 (에 "항아리-와 의존성") 앱 및 모든 종속성을 포함하는 배포가 매우 쉽게 만들기.

    종속성을 관리 할 수 ​​받는다는 사용하여 빌드 및 배포 중에 올바른 버전이 사용됩니다 확인합니다. 인기있는 IDE의의는 편집을 위해 건물 클래스 경로에 대해 걱정하고 구축 할 필요가 없습니다 그것을 만드는 받는다는 지원합니다. 마지막으로, 하나의 단지를 구축 받는다는 지시 할 수 있습니다 (에 "항아리-와 의존성") 앱 및 모든 종속성을 포함하는 배포가 매우 쉽게 만들기.

    런타임 클래스 경로에 보장됩니다 하둡과 같은 의존성,에 관해서는, 당신은이 동네 짱 항아리에 포함하지 않을 수 있도록 "제공"의 범위로 정의 할 수 있습니다.

  3. ==============================

    3.리모컨의의 JVM에서 실행중인 작업에 대한 종속성을 지정하기위한 하둡 실행 스크립트의 -libjars 옵션을 사용하여; JobClient 지역 JVM에서 실행되는 설정 종속성을 사용하여 $ HADOOP_CLASSPATH 변수

    리모컨의의 JVM에서 실행중인 작업에 대한 종속성을 지정하기위한 하둡 실행 스크립트의 -libjars 옵션을 사용하여; JobClient 지역 JVM에서 실행되는 설정 종속성을 사용하여 $ HADOOP_CLASSPATH 변수

    자세한 설명은 여기에 있습니다 : http://grepalex.com/2013/02/25/hadoop-libjars/

  4. from https://stackoverflow.com/questions/17532648/hadoop-submit-a-job-with-lots-of-dependencies-jar-files by cc-by-sa and MIT license