Changes between Initial Version and Version 1 of III140412/Lab15


Ignore:
Timestamp:
Apr 11, 2014, 11:27:49 PM (10 years ago)
Author:
jazz
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • III140412/Lab15

    v1 v1  
     1◢ <[wiki:III140412/Lab14 實作十四]> | <[wiki:III140412 回課程大綱]> ▲ | <[wiki:III140412/Lab16 實作十六]> ◣
     2
     3= 實作十五 Lab15 =
     4
     5{{{
     6#!html
     7<p style="text-align: center;"><big style="font-weight: bold;"><big>從 WordCount 範例學習新版 Hadoop MapReduce 的程式組成結構<br/>Learning Hadoop MapReduce Code Structure from WordCount Example</big></big></p>
     8}}}
     9
     10[[PageOutline]]
     11
     12{{{
     13#!text
     14請先連線至 nodeN.3du.me , N 為您的報名編號
     15}}}
     16
     17== STEP 0 : 前置作業 ==
     18
     19 * 首先,請確認您運行於全分散式模式下
     20{{{
     21~/hadoop_labs/lab002/hadoop-full-mode
     22}}}
     23 * 安裝 screen 並設定 screen
     24{{{
     25sudo apt-get -y install screen
     26cat > ~/.screenrc <<EOF
     27caption always "%{= wk} %{= KY} [%n]%t @ %H %{-} %= %{= KR} %l %{-} | %{= KG} %Y-%m-%d %{-} "
     28hardstatus alwayslastline " %-Lw%{= Bw}%n%f %t%{-}%+Lw %=|"
     29vbell off
     30EOF
     31}}}
     32 * 快速鍵
     33   * CTRL + a + | – 垂直分割視窗
     34   * CTRL + a + 0 ~ 9 – 從第一個視窗切換到第九個視窗
     35   * CTRL + a + n – 切換到下一個(還存在)的視窗
     36   * CTRL + a + Backspace – Switches to the previous available
     37   * CTRL + a + a – 切換到跟最後一次切換的視窗
     38   * CTRL + a + A – 切換視窗"抬頭"
     39   * CTRL + a + K – 關閉目前視窗
     40   * CTRL + a + c – 開啟一個新的視窗
     41   * CTRL + a + [ - 進入 copy mode,方便上下捲動歷史紀錄(因為常用的 SHIFT + PgUp / PgDn 會失效)
     42   * CTRL + a + ESC - 進入 copy mode,方便上下捲動歷史紀錄(因為常用的 SHIFT + PgUp / PgDn 會失效)
     43   * Ctrl + a + S - 分割視窗
     44   * Ctrl + a + Tab - 在視窗中移動
     45   * Ctrl + a + Q - 取消分割
     46
     47== STEP 1 : 開啟另一個連線視窗 ==
     48
     49 * https://nodeN.3du.me - 其中 N 為您的報名編號
     50 * http://nodeN.3du.me:50030 - 其中 N 為您的報名編號
     51 * 並且在新個連線視窗中執行以下的指令
     52{{{
     53watch -d -n 1 "jps | sort -n; printf '\n\n'; hadoop job -list"
     54}}}
     55
     56== STEP 2 : 執行 MapReduce 任務 ==
     57
     58 * 讓我們來觀察一下,當執行 MapReduce 任務時,發生了什麼事情?
     59{{{
     60cd ~/hadoop_labs/lab007
     61ant
     62hadoop fs -rmr input output
     63hadoop fs -put ~/hadoop/conf input
     64hadoop jar WordCount.jar input output
     65}}}
     66
     67 * 提交任務後,請觀察另一個視窗 jps 結果的變化,並且觀察 50030 頁面的變化(需自行按 F5 更新畫面)。
     68
     69 * 切換到單機模式,讓我們重新執行一次 WordCount.jar
     70{{{
     71export HADOOP_CONF_DIR=~/hadoop/conf.local/
     72hadoop fs -put ~/hadoop/conf local-input
     73hadoop jar WordCount.jar local-input local-output
     74unset HADOOP_CONF_DIR
     75}}}
     76
     77== 實作習題 ==
     78
     79 <問題 1> 請問在另一個視窗中,執行 jps 的結果,哪個 java process 代表 WordCount.java 的 main() 函數呢?
     80{{{
     81#!text
     82      (A) TaskTracker
     83      (B) RunJar
     84      (C) Child
     85      (D) Main
     86}}}
     87
     88 <問題 2> 請問在另一個視窗中,執行 jps 的結果,您觀察到最多同時存在幾個名為「Child」的 java process?
     89{{{
     90#!text
     91      (A) 0
     92      (B) 1
     93      (C) 2
     94      (D) 3
     95}}}
     96
     97 <問題 3> 請問切換到本機模式(Local Mode)後,當執行 hadoop jar WordCount.jar 指令時,在另一個視窗中,執行 jps 的結果,您觀察到最多同時存在幾個名為「Child」的 java process?
     98{{{
     99#!text
     100      (A) 0
     101      (B) 1
     102      (C) 2
     103      (D) 3
     104}}}