일딴 김형준님의 블로그 요걸 보시면 편하게 이해하실수 있습니다.
일종의 사전지식이랄까.
일단 이글을 보시는 분들은 아마 저보다는 잘하시는 분들이실겁니다. 전 요즘 이것때문에 죽겠거든요
전,, 도저히 저걸 봐도, 하둡 돌아가는게 안보인느것입니다.
일단 제가 필요한 로그은 getsplit 하고 recodereader 이거 맞나요 직접 구현하는 부분이.
일단 메인클레스 내부에서는 sysout 찍어버리면 보이는데, 재내들은 그 안에 있으니 보이지도 않고
그래서 제가 선택한 방법은 log4j 입니다.
산소소년님의 블로그
여기를 참고했습니다.
저는 이번에 log4j 를 처음사용했거든요, 물론 제 블로그의 특성상 제가 이해하고 있지 못한 관점에서 즉 나말고 다른분도 계실꺼라는걸 가정하고,
일단 저는 맵리듀스 프로그래밍을 공부할때 이클립스를 사용하거든요 log4j 설정 파일properties 이걸 어디에 넣냐 이것이 문제였습니다.
웹상에서 보면 src 에 넣어라 bin에 넣어라..
그런데 맵리듀스 프로그래밍을 하면 넣을 필요가 없다가 정답인것 같습니다 일단 제 관점에서는요.
$hadoop_HOME 하둡 폴더 안에 보시면 conf 폴더가 있고 그안에 properties 파일이 있는걸 보실수 있는데 맵리듀스 프로그래밍을 하기위해서 만드는 jar도 여기서 영향을 받네요.
그런데 하둡 특성상 여러 클러스터 안에서 돌아가니까. 로그가 그안에 생길꺼고 로그생성위치가. 아 적어놓는다는걸 이부분은 다음에 적어놓겠는데, 어디냐면 제 기억에, hdfs 폴더 지정하지 않나요 거기 보면 잡관련 로그들 남는부분 아마 뒤져보셨다면 syserr sysout 막 파일들 생기는곳 그 sysout 파일안에 생겼던걸로 기억합니다. 이건 다시한번 확인해봐야겠네요
그래서 저는 산소소년님의 블로그 따라서 log4j에서 소켓으로 한곳으로 모을수가 있더근요 하둡 conf 안에 properties 설정에서
log4j.appender.socket.RemoteHost=192.168.0.1
log4j.appender.socket.Port=8081
log4j.appender.socket.layout=org.apache.log4j.PatternLayout
log4j.appender.socket.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} [%p] %t %c{2}: %m%n
log4j.rootLogger=FATAL, stdout
#delete filewrite
#stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} [%p] %t %c{2}: %m%n
'Study > Bigdata' 카테고리의 다른 글
하둡 HDFS 폴더의 파일 갯수 확인 방법 (0) | 2014.03.18 |
---|---|
하둡(hadoop) 한개 노드 태스크 트래커(tasktracker),데이터노드(datanode) 종료 (0) | 2014.01.23 |
org.apache.flume.EventDeliveryException: Failed to send events (0) | 2013.11.21 |
하둡 hadoop && ext3, ext4 , XFS (0) | 2012.01.26 |
hadoop port (0) | 2012.01.09 |
[hadoop] ERROR namenode.NameNode: java.io.IOException: Cannot create directory /data/name/current (0) | 2011.11.23 |