빅데이터/하둡 2

하둡 2.0 튜토리얼 - (5) 워드카운트

Johnny Yoon 2019. 7. 21. 18:25
728x90
반응형

 

하둡 예제 실행

이번 포스팅에서는 하둡에서 기본적으로 제공하는 기본 예제인 워드카운트를 실행해보도록 하겠습니다.

 

홈디렉토리 생성

먼저 doop계정에 대한 홈 디렉토리를 생성해주겠습니다.

다음 커맨드를 실행해보시면 . 디렉토리가 없다고 나올것입니다.

> hdfs dfs -ls

하둡2에서는 계정에 대한 디렉토리를 사용자가 따로 생성해주어야 합니다.

 

다음 커맨드들을 차례로 실행시커 홈 디렉토리를 만들어주겠습니다.

> hdfs dfs -mkdir /home
> hdfs dfs -mkdir /home/doop

 

그리고 다시 -ls 를 실행하면 이제 홈 디렉토리가 생성되었고,

아무 파일/디렉터리가 없기떄문에 아무 로그도 나오지 않을 것입니다.

 

예제 대상 파일 저장

이제 예제의 대상이 되는 파일을 hdfs로 넣어주겠습니다.

먼저 대상 파일이 들어갈 디렉터리를 하나 생성합니다.

> hdfs dfs -mkdir conf

 

그리고 로컬 디렉토리인 ~/hadoop/etc/hadoop/에서 hadoop-env.hs 파일을 hdfs로 넣어줍니다.

> hdfs dfs -put ~/hadoop/etc/hadoop/hadoop-env.sh conf

 

이제 conf디렉토리에 -ls명령을 해보시면 해당 파일이 들어가 있는것을 확인할 수 있습니다.

 

워드카운트 실행

하둡 2.x에서도 기본적으로 워드카운트 프로그램을 제공합니다.

이 파일은 하둡 디렉토리 내의 share 디렉토리 안에 있습니다.

이 파일을 hdfs의 conf/hadoop-env.sh파일을 대상으로 실행하고 결과를 hdfs의 output디렉토리에 저장하는 명령입니다.

아래 명령어를 보면 아시겠지만, 하둡 2의 맵리듀스는 yarn이 실행합니다.

> yarn jar hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount conf output

 

워드카운트 결과 확인

이제 다음 커맨드를 사용해 결과의 마지막 10개의 라인을 뽑아보겠습니다.

> hdfs dfs -cat output/part-r-00000 | tail -10

 

제대로 실행이 되었다면 다음과 같은 결과가 나와야 합니다.

variable        1
variables       1
when    2
where   1
will    2
with    2
work    1
writing,        1
written 1
you     2

 

히스토리 매니저 웹 인터페이스

실행된 맵리듀스에 대한 결과는 이전 포스팅에서 실행했던 히스토리 매니저가 관리합니다.

이 히스토리 매니저는 웹 인터페이스에서 확인할 수 있습니다.

먼저 웹브라우저에서 Active 네임노드인 doop01의 19888포트로 접속해보도록 하겠습니다.

저는 맵리듀스를 두번 실행해주었기 때문에 두개의 Job이 나옵니다.

 

참고자료

이 포스팅은 "시작하세요! 하둡 프로그래밍" 책의 예제를 무작정 따라해본 포스팅입니다.

https://wikibook.co.kr/beginning-hadoop-programming-2rev/

728x90
반응형