◢ <[wiki:III131019/Lab14 實作十四]> | <[wiki:III131019 回課程大綱]> ▲ | <[wiki:III131019/Lab16 實作十六]> ◣
= 實作十五 Lab15 =
{{{
#!html
從 WordCount 範例學習新版 Hadoop MapReduce 的程式組成結構
Learning Hadoop MapReduce Code Structure from WordCount Example
}}}
[[PageOutline]]
{{{
#!text
請先連線至 nodeN.3du.me , N 為您的報名編號
}}}
== STEP 0 : 前置作業 ==
* 首先,請確認您運行於全分散式模式下
{{{
~/hadoop_labs/lab002/hadoop-full-mode
}}}
== STEP 1 : 開啟另一個連線視窗 ==
* ssh://nodeN.3du.me - 其中 N 為您的報名編號
* http://nodeN.3du.me:50030 - 其中 N 為您的報名編號
* 並且在新個連線視窗中執行以下的指令
{{{
watch -d -n 1 "jps; hadoop job -list"
}}}
== STEP 2 : 執行 MapReduce 任務 ==
* 讓我們來觀察一下,當執行 MapReduce 任務時,發生了什麼事情?
{{{
cd ~/hadoop_labs/lab007
ant
hadoop fs -rmr input output
hadoop fs -put ~/hadoop/conf input
hadoop jar WordCount.jar input output
}}}
* 提交任務後,請觀察另一個視窗 jps 結果的變化,並且觀察 50030 頁面的變化(需自行按 F5 更新畫面)。
* 切換到單機模式,讓我們重新執行一次 WordCount.jar
{{{
export HADOOP_CONF_DIR=~/hadoop/conf.local/
hadoop fs -put ~/hadoop/conf local-input
hadoop jar WordCount.jar local-input local-output
unset HADOOP_CONF_DIR
}}}
== 實作習題 ==
<問題 1> 請問在另一個視窗中,執行 jps 的結果,哪個 java process 代表 WordCount.java 的 main() 函數呢?
{{{
#!text
(A) org.apache.hadoop.fs.LocalFileSystem
(B) org.apache.hadoop.hdfs.DistributedFileSystem
(C) org.apache.hadoop.fs.shell.Count
(D) org.apache.hadoop.fs.shell.CommandFormat
}}}