2010-12-09 7 views
2

Cloudera Hadoop의 WordCount 예제를 디버깅하려고하지만 할 수 없습니다. 매퍼 및 감속기 클래스를 기록했지만 콘솔 로그를 표시하지 않습니다.로그가 콘솔에 나타나지 않습니다. ([Hadoop Question]

을 나는 이미지를 첨부합니다. 첫 번째 이미지에서 , 자바 로그를. 두번째 된 imagen에서

, 결과 로그. 그것은 첫 번째 표시되지 않습니다 :( http://i56.tinypic.com/2eztkli.png

누구나 알고 있니? 고마워요 !!

답변

2

실제 하둡 클러스터 (아마도 단일 노드)를 사용하여 작업을 시작하기 위해 "hadoop jar ..."를하고 있습니다.

즉, 모든 로깅은 콘솔이 아니라 클러스터에 의해 수행됩니다. 콘솔에 표시되는 내용은 본질적으로 진행률 표시기입니다.

작업은 하나 이상의 맵 작업과 하나 이상의 축소 작업으로 분할됩니다. 이러한 각 작업은 별도의 Java 프로세스이며 개별 로깅을 포함합니다 (여러 파일로 구성됨). 많은 것들이 당신은 어떤이 로그 파일은 '하나의'큰 로그 파일되고 싶어하지 않는다 병렬로 수행되기 때문에

당신은 $ HADOOP_LOG_DIR/userlogs

에 그 로그 파일을 찾아야한다. 그것은 쓸데없는 혼란이 될 것입니다.

학습 이제

및 하둡 애플리케이션을 개발하는 것은 밖으로 쉬운 방법이 있습니다 : 간단하게 단순히 일반 자바 응용 프로그램으로 시작하여 로컬 모드에서 응용 프로그램을 실행합니다 자바 -jar ...

0

표시하려는 경우 정보를 콘솔에 넣고 System.out.println ("blah"); Java 작업에서 특히 인수를 전달할 때 (예 : 인수가 잘못되었을 때 사용) 잘 작동합니다. 항아리에서 단 하나의 단일 작업 만 수행하면됩니다. Hadoop 로그를 검토하면 콘솔에 펀트하는 것이 지루합니다. 진짜 일을하고 있어요.

1

아, 간단한 수정입니다. System.out.println()을 사용하고 jobtracker의 HTML 인터페이스를 살펴보십시오. Map 또는 Reduce를 완료 한 작업으로 이동하십시오.이 작업에는 println이 포함되어 있습니다. 그런 다음 해당 작업의 로그 보고서로 이동하면 출력이 인쇄됩니다.