hadoop 버전은 1.0.0



데이터노드를 추가하고 Map/Reduce를 돌리는데 기존에 3분이면 끝나던게 30분이 걸리는 사태가 발생.

jobtracker 로그를 뒤져보니 아래와 같은 이상한 부분 발견.

// 이런식으로 #2 부분의 숫자만 바뀌면서 몇개가 올라오다가...
INFO org.apache.hadoop.mapred.JobInProgress: Failed fetch notification #2 for map task: attempt_201503181521
_0010_m_000003_0 running on tracker: tracker_localhost:localhost/127.0.0.1:35616 and reduce task: attempt_201503181521_0010_r_000024
_0 running on tracker: tracker_hadoop-008:hadoop-008/127.0.0.1:54721

...
...

// 이런식으로 에러가 남
INFO org.apache.hadoop.mapred.JobInProgress: Too many fetch-failures for output of task: attempt_201503181521_0010_m_000003_0 ... killing it
INFO org.apache.hadoop.mapred.TaskInProgress: Error from attempt_201503181521_0010_m_000003_0: Too many fetch-failures


구글링을 좀 해보니 DNS가 꼬였다거나 http thread가 부족하다거나 JVM 버그라거나 하는 게 있던데,

나는 그 중에서 가장 많은 꼼수해법으로 나오는 /etc/hosts 에서 127.0.0.1 localhost 부분을 주석처리 함으로써 한 방에 해결함.


왜 hadoop이 되도 않은 localhost에 집착하는지는 모르겠음.

근데 웃긴 건 이렇게 해서 빨라지는 걸 확인하고 다시 hosts 파일을 원상복구 시킨 후 Map/Reduce를 돌리면 느려지지 않는다는 것.


정확한 원인을 발견하지는 못했으나 어쨌든 문제를 해결한 것이므로 기록으로 남김.







.

Posted by bloodguy
,