VirtualBox5.0.18+CentOS7.2+Hadoop2.7.2配置與開發(2)用YARN完成WordCount作業
執行WordCount作業
步驟:
進入hadoop目錄,刪除input目錄和output目錄(如果有);
啟動hdfs系統,ResourceManager和NodeManager。
$cd /usr/hadoop-2.7.2
$sbin/start-dfs.sh
$sbin/start-yarn.sh
在/usr/hadoop-2.7.2中新建目錄userData,userData記憶體放兩個文字檔案file1.txt和file2.txt。
$cat userData/file1.txt
Hello world.
Bye world.
$ cat userData/file2.txt
Hello Hadoop.
Bye Hadoop.
重建hdfs內的input目錄(如果有)。
檢視hdfs的目錄及全部子目錄和檔案:
$ bin/hadoop fs -ls -R .
如果input目錄為空,則可用rmdir刪除它:
$ bin/hadoop fs -rmdir ./input
如果output目錄不為空,則用rm的遞迴選項刪除它:
$ bin/hadoop fs -rm -R ./output
在hdfs內新建input目錄。
$ bin/hadoop fs -mkdir ./input
將userData內的file1.txt和file2.txt兩個檔案上傳到HDFS
$ bin/hadoop fs -putuserData/file1.txt ./input
$ bin/hadoop fs -put userData/file2.txt ./input
$ bin/hadoop fs -ls -R .
drwxr-xr-x - hadoopsupergroup 0 2016-05-02 12:07input
-rw-r--r-- 1 hadoopsupergroup 24 2016-05-02 12:06 input/file1.txt
-rw-r--r-- 1 hadoopsupergroup 27 2016-05-02 12:07input/file2.txt
執行hadoop自帶的WordCount程式,統計單詞數
$cd /usr/hadoop-2.7.2/share/hadoop/mapreduce
$/usr/hadoop-2.7.2/bin/hadoop jar hadoop-mapreduce-examples-2.7.2.jarwordcount ./input ./output
輸出資訊:略
$ cd /usr/hadoop-2.7.2
$ bin/hadoop fs -ls -R .
drwxr-xr-x - hadoopsupergroup 0 2016-05-02 12:07input
-rw-r--r-- 1 hadoopsupergroup 24 2016-05-02 12:06input/file1.txt
-rw-r--r-- 1 hadoopsupergroup 27 2016-05-02 12:07 input/file2.txt
drwxr-xr-x - hadoopsupergroup 0 2016-05-02 12:11output
-rw-r--r-- 1 hadoopsupergroup 0 2016-05-02 12:11output/_SUCCESS
-rw-r--r-- 1 hadoopsupergroup 33 2016-05-02 12:11 output/part-r-00000
檢視執行結果:
$ bin/hadoop fs -cat ./output/part-r-00000
Bye 2
Hadoop. 2
Hello 2
world. 2
可見單詞統計正確!