필자가 듣기로 하둡은 wordcount의 원리가 하둡이라고 어느 개발자가 했던 말이 생각나서 실습을 진행했다. 하둡에서 단어를 분석하는 과정은 맵리듀스로 처리한다.
input한 파일을 Map으로 받아와서 각각 저장소에 있는 파일들을
Reduce로 잘개 쪼개서 분석을 한다.
Map은 하둡안에 있는 wordcounting.jar 파일을 이용해서
라인단위로 파싱하여 단어로 쪼개서 객체에 담는다.
라인을 쪼개서 단어를 키로 값은 숫자로 한것이 매퍼전부다.
전체적인 실행흐름이다.
모든 노드들을 실행한다. $ start-dfs.sh .
실행흐름이다. 개발자 블로그를 찾아다니며 내가 설정한 파일 경로에 맞게 다시 실행을 해줬다. 하둡2.xx버전 이후로 wordcounting 예제가 다른 경로에 있었다 . 다시 찾아서 확인한뒤 실행을 하였다. 실습하면서 내게는 경로문제가 자주 발생하였다. 아마 자주 다뤄보지않아서 그런것 같았지만, 모든 문제는 익숙해지고 노력하면 해결될 것이라 생각한다.
결과를 확인한다. 머릿속으로 어떻게 파일을 인풋하고 가져와서 분석을 하는지 하둡의 구조를 떠올리면서 보자.
주의할 사항!
여기서 한가지 주의할 점이 있습니다.
초기 설치시에는 해당사항이 없지만 한번 서비스를 진행하다가 다시 namenode를 format 해야하는 일이 생기면, 반듯이 먼저 datanode 하위 모든 파일을 삭제하고 진행을 해야 합니다. 만약 하위 파일들을 삭제하지 않고 format을 하면 namenode의 clusterId와 datanode의 clusterId가 달라져서 정상적으로 동작하지 않을 수 있습니다.
더 자세한 정보를 볼려면 다른 개발자의 글을 참고하길 바란다. 감사합니다.
0 comments:
Post a Comment