이번주는 MapReduce Tutorial 을 해 보도록 하겠습니다.

 

폴더 생성
$ mkdir wordcount_classes

소스코드 출처
<
">http://hadoop.apache.org/common/docs/current/mapred_tutorial.html#Example%3A+WordCount+v1.0>

hadoop01.jpg

소스 컴파일
$ javac -classpath ${HADOOP_HOME}/hadoop-core-0.20.203.0.jar -d wordcount_classes WordCount.java
$ jar -cvf /home/hadoop/wordcont.jar -C wordcount_classes/ .

hadoop02.jpg

Assuming that:

/home/hadoop/wordcount/input - input directory in HDFS
/home/hadoop/wordcount/output - output directory in HDFS

Hadoop 데몬 시작
/bin/start-all.sh

하둡 파일 시스템을 재시작하면 일정 기간 동안은 안전모드(safe mode)상태가 된다.
안전모드 상태에서 하둡 시스템은 읽기 모드로 동작한다. 따라서 쓰기 연산이나 복제 개수 변경 등과 같은 명령은
수행되지 않는다.
안전모드 상태에서 강제로 나오거나 안전 모드 상태로 돌아가는 명령은 다음과 같다.
$ bin/hadoop dfsadmin -safemode enter
$ bin/hadoop dfsadmin -safemode leave

하둡 가상폴더 생성
$ bin/hadoop dfs -mkdir /home/hadoop/wordcount
$ bin/hadoop dfs -mkdir /home/hadoop/wordcount/input

hadoop03.jpg

Sample text-files as input:
샘플 파일을 생성 한다.
$ vi file01
Hello World Bye World

$ vi file02
Hello Hadoop Goodbye Hadoop

파일 생성후 가상 폴더로 복사
$bin/hadoop fs -put file01 file02 /home/hadoop/wordcount/input

복사후 확인
$ bin/hadoop dfs -ls /home/hadoop/wordcount/input/
/home/hadoop/wordcount/input/file01
/home/hadoop/wordcount/input/file02

파일 내용 확인
$ bin/hadoop dfs -cat /home/hadoop/wordcount/input/file01
$ bin/hadoop dfs -cat /home/hadoop/wordcount/input/file02

hadoop04.jpg

 

Run the application:

$ bin/hadoop jar /home/hadoop/wordcount.jar org.myorg.WordCount /home/hadoop/wordcount/input /home/hadoop/wordcount/output

Output:

$ bin/hadoop dfs -cat /home/hadoop/wordcount/output/part-00000

Bye 1
Goodbye 1
Hadoop 2
Hello 2
World 2