강좌 & 팁
이번주는 MapReduce Tutorial 을 해 보도록 하겠습니다.
폴더 생성
$ mkdir wordcount_classes
소스코드 출처
<">http://hadoop.apache.org/common/docs/current/mapred_tutorial.html#Example%3A+WordCount+v1.0>
소스 컴파일
$ 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/ .
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
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
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