복붙노트

[HADOOP] Hadoop지도를 어떻게 디버그 할 수 있습니까?

HADOOP

Hadoop지도를 어떻게 디버그 할 수 있습니까?

지도 삭감 작업을 만들려고하는 메신저.

끝까지 실행되지만 끝에는 이상한 데이터가 표시됩니다.

system.out.println ( "debug data")을 사용하여 디버깅하려고 할 때 그것은 화면에 표시되지 않습니다.

Java API를 사용하여 외부 로그 파일을 생성하고 log.severe ( "로그 데이터")를 사용하여 화면에 인쇄하려고하거나 log4j 로거 메소드 log.info (로그 데이터)를 사용하여 /

아무 것도 내 디버그 메시지가지도를 줄이는 작업에 예외가있을 때만 볼 수 있습니다.

어떻게 파일이나 화면에 내 디버그 메시지를 볼 수 있도록 고정시킬 수 있습니까?

해결법

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

    1.이 대답은 도움이 될 수 있습니다. Hadoop은 자체 작업 추적 로깅 시스템이므로 System.out을 캡처합니다.

    이 대답은 도움이 될 수 있습니다. Hadoop은 자체 작업 추적 로깅 시스템이므로 System.out을 캡처합니다.

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

    2.점심을 먹을 수도있어.

    점심을 먹을 수도있어.

    가이드로부터 :

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

    3.큰 데이터를 처리하고 있으므로 추적 메시지의 크기가 커질 수 있으므로 문제가 발생할 수 있습니다. "system.out.println"스타일 로깅에 대한 대안을 고려하는 것이 유용합니다.

    큰 데이터를 처리하고 있으므로 추적 메시지의 크기가 커질 수 있으므로 문제가 발생할 수 있습니다. "system.out.println"스타일 로깅에 대한 대안을 고려하는 것이 유용합니다.

    카운터 및 다중 출력에 대한 가장 좋은 점은 프로그래밍 방식으로 액세스 할 수 있습니다. 다중 출력의 경우 맵 / 축소 작업을 실행하여 로그에서 일부 통계를 추출 할 수도 있습니다.

    프로덕션 환경에서 디버깅을하는 또 다른 방법은 단위 테스팅입니다. MiniMRCluster는 단위 테스팅 중에 map-reduce 작업을 테스트하는 데 도움이됩니다.

  4. ==============================

    4.Eclipse에서 maven을 사용하여 런타임 jar을 빌드하고 종속성을 관리하기 위해 my map / reduce 코드를 개발합니다. HDFS를 지원하기 위해 hadoop을 설치하고 컴퓨터에서 실행하면 Eclipse에서 코드를 실행하고 디버깅 할 수 있습니다. 이는 Eclipse 디버그 관점에서 중단 점 및 기타 모든 것을 사용한다는 것을 의미합니다.

    Eclipse에서 maven을 사용하여 런타임 jar을 빌드하고 종속성을 관리하기 위해 my map / reduce 코드를 개발합니다. HDFS를 지원하기 위해 hadoop을 설치하고 컴퓨터에서 실행하면 Eclipse에서 코드를 실행하고 디버깅 할 수 있습니다. 이는 Eclipse 디버그 관점에서 중단 점 및 기타 모든 것을 사용한다는 것을 의미합니다.

  5. from https://stackoverflow.com/questions/12695991/how-can-i-debug-hadoop-map-reduce by cc-by-sa and MIT license