2011-10-25 3 views
1

/usr/local/hadoop/logs 경로에있는 모든 hadoop 로그를 볼 수 있습니다.hadoop 스트리밍 : 응용 프로그램 로그를 보는 방법?

응용 프로그램 수준 로그는 어디에서 볼 수 있습니까?

mapper.py 내 응용 프로그램의 logging.info 또는 관련 로그 문을 볼 수 있습니다

import logging 

def main(): 
    logging.info("starting map task now") 
    // -- do some task -- // 
    print statement 

reducer.py

import logging 
def main(): 
    for line in sys.stdin: 
     logging.info("received input to reducer - " + line) 
     // -- do some task -- // 
     print statement 

: 예를 들어? 내가 Python을 사용하고

hadoop-streaming

을 사용하고

답변

2

하둡 스트리밍이 맵퍼 및 감속기 사이에 키/값 쌍을 전달하는 STDIN/STDOUT을 사용하여 감사, 그래서 로그 메시지는 특정 로그 파일에 기록되어야한다 - 자세한 내용은 sample codepython logging documentation을 확인하십시오. 이 Query도 도움이 될 수 있습니다.

+1

감사합니다 Praveen, logging.warn 문을 추가하고/usr/local/hadoop/logs/userlogs/ dir/stderr 파일에 로그를 축적하기 시작했습니다 – daydreamer

+0

그냥 궁금 해서요? .info 작업? –

+0

모르겠다. 다시 시도하겠다. – daydreamer

5

Hadoop은 hadoop map/reduce status 사이트에서 볼 수있는 stderr를 수집합니다. 그래서 stderr에 쓸 수 있습니다.

+0

stderr에 쓰기 만하면 :'import sys; print >> sys.stderr, 'spam'' 또는 다른 대안 http://stackoverflow.com/questions/5574702/how-to-print-to-stderr-in-python – Nickolay

관련 문제