datanode 소스만 보다가 기분전환겸 인터넷에 있는 실습을 보고 따라해봄.
싱글모드로 실행
[root@master hadoop]# hadoop fs -copyFromLocal bin dfsbin (bin 디렉터리를 dfsbin으로 hdfs에 옮김)
[root@master hadoop]# hadoop fs -ls
Found 1 items
drwxr-xr-x - root supergroup 0 2012-05-03 20:07 /user/root/dfsbin
(ACL을 보면 맨앞에 d가 있음 디렉터리 자체로 옮겨짐)
[root@master hadoop]# hadoop fs -ls dfsbin (디렉터리 열어보면 hadoop/bin에 있던 파일들이 다 들어있음)
Found 14 items
-rw-r--r-- 1 root supergroup 9998 2012-05-03 20:07 /user/root/dfsbin/hadoop
-rw-r--r-- 1 root supergroup 1966 2012-05-03 20:07 /user/root/dfsbin/hadoop-config.sh
-rw-r--r-- 1 root supergroup 3690 2012-05-03 20:07 /user/root/dfsbin/hadoop-daemon.sh
-rw-r--r-- 1 root supergroup 1227 2012-05-03 20:07 /user/root/dfsbin/hadoop-daemons.sh
-rw-r--r-- 1 root supergroup 2710 2012-05-03 20:07 /user/root/dfsbin/rcc
-rw-r--r-- 1 root supergroup 2043 2012-05-03 20:07 /user/root/dfsbin/slaves.sh
-rw-r--r-- 1 root supergroup 1066 2012-05-03 20:07 /user/root/dfsbin/start-all.sh
-rw-r--r-- 1 root supergroup 965 2012-05-03 20:07 /user/root/dfsbin/start-balancer.sh
-rw-r--r-- 1 root supergroup 1645 2012-05-03 20:07 /user/root/dfsbin/start-dfs.sh
-rw-r--r-- 1 root supergroup 1159 2012-05-03 20:07 /user/root/dfsbin/start-mapred.sh
-rw-r--r-- 1 root supergroup 1019 2012-05-03 20:07 /user/root/dfsbin/stop-all.sh
-rw-r--r-- 1 root supergroup 1016 2012-05-03 20:07 /user/root/dfsbin/stop-balancer.sh
-rw-r--r-- 1 root supergroup 1146 2012-05-03 20:07 /user/root/dfsbin/stop-dfs.sh
-rw-r--r-- 1 root supergroup 1068 2012-05-03 20:07 /user/root/dfsbin/stop-mapred.sh
자 단어수를 세는 프로그램이다 이 예제는 hadoop 다운시 존재한다
wordcount <input> <output> 이다
결과로는 result 디렉터리가 하나 생긴다. 시작
[root@master hadoop]# bin/hadoop jar hadoop-0.20.2-examples.jar wordcount dfsbin result
12/05/03 20:30:53 INFO input.FileInputFormat: Total input paths to process : 14
12/05/03 20:30:53 INFO mapred.JobClient: Running job: job_201205031931_0003
12/05/03 20:30:54 INFO mapred.JobClient: map 0% reduce 0%
12/05/03 20:31:02 INFO mapred.JobClient: map 14% reduce 0%
12/05/03 20:31:05 INFO mapred.JobClient: map 28% reduce 0%
12/05/03 20:31:08 INFO mapred.JobClient: map 42% reduce 0%
12/05/03 20:31:11 INFO mapred.JobClient: map 57% reduce 9%
12/05/03 20:31:14 INFO mapred.JobClient: map 71% reduce 9%
12/05/03 20:31:17 INFO mapred.JobClient: map 85% reduce 9%
12/05/03 20:31:20 INFO mapred.JobClient: map 100% reduce 19%
12/05/03 20:31:29 INFO mapred.JobClient: map 100% reduce 100%
12/05/03 20:31:31 INFO mapred.JobClient: Job complete: job_201205031931_0003
12/05/03 20:31:31 INFO mapred.JobClient: Counters: 17
12/05/03 20:31:31 INFO mapred.JobClient: Job Counters
12/05/03 20:31:31 INFO mapred.JobClient: Launched reduce tasks=1
12/05/03 20:31:31 INFO mapred.JobClient: Launched map tasks=14
12/05/03 20:31:31 INFO mapred.JobClient: Data-local map tasks=14
12/05/03 20:31:31 INFO mapred.JobClient: FileSystemCounters
12/05/03 20:31:31 INFO mapred.JobClient: FILE_BYTES_READ=35256
12/05/03 20:31:31 INFO mapred.JobClient: HDFS_BYTES_READ=30718
12/05/03 20:31:31 INFO mapred.JobClient: FILE_BYTES_WRITTEN=71038
12/05/03 20:31:31 INFO mapred.JobClient: HDFS_BYTES_WRITTEN=10878
12/05/03 20:31:31 INFO mapred.JobClient: Map-Reduce Framework
12/05/03 20:31:31 INFO mapred.JobClient: Reduce input groups=760
12/05/03 20:31:31 INFO mapred.JobClient: Combine output records=2333
12/05/03 20:31:31 INFO mapred.JobClient: Map input records=947
12/05/03 20:31:31 INFO mapred.JobClient: Reduce shuffle bytes=33979
12/05/03 20:31:31 INFO mapred.JobClient: Reduce output records=760
12/05/03 20:31:31 INFO mapred.JobClient: Spilled Records=4666
12/05/03 20:31:31 INFO mapred.JobClient: Map output bytes=45399
12/05/03 20:31:31 INFO mapred.JobClient: Combine input records=4017
12/05/03 20:31:31 INFO mapred.JobClient: Map output records=4017
12/05/03 20:31:31 INFO mapred.JobClient: Reduce input records=2333
끝 결과 보기
[root@master hadoop]# hadoop fs -ls
Found 2 items
drwxr-xr-x - root supergroup 0 2012-05-03 20:07 /user/root/dfsbin
drwxr-xr-x - root supergroup 0 2012-05-03 20:31 /user/root/result
[root@master hadoop]# hadoop fs -ls result
Found 2 items
drwxr-xr-x - root supergroup 0 2012-05-03 20:30 /user/root/result/_logs
-rw-r--r-- 1 root supergroup 10878 2012-05-03 20:31 /user/root/result/part-r-00000
[root@master hadoop]# hadoop fs -cat result/part-r-00000 | more
"$HADOOP_HOME/build/classes" 2
"$HADOOP_HOME/build/ivy/lib/Hadoop/common" 1
"$HADOOP_HOME/build/native" 1
"$HADOOP_HOME/build/test/classes" 2
"$HADOOP_HOME/build/tools" 1
"$HADOOP_HOME/build/webapps" 2
"$HADOOP_HOME/webapps" 2
"$HADOOP_IDENT_STRING" 1
"$HADOOP_LOGFILE" 1
이렇게 단어 개수가 나옴. 올ㅋ 좋은데? examples 소스도 봐야지..
참고로 소스는 그냥 src 밑에 있음. 그냥 열어서 분석...이클립스에서 컴파일 하는방법을 몰라서.. 그냥 윈도우에서 이클립스 열어서 보고 소스 수정은 터미널 열어서 고치고.. ㄱ -
단순하게 보면 이클립스에서 ant 실행 방법을 찾으면 될 듯. 좀 시간 두면 할 수 있을듯한데...
이 두 분 블로그를 자주 봅니다. 많은 도움이 됩니다.