| 1 | ◢ | <[wiki:Hinet131022 回課程大綱]> ▲ | <[wiki:Hinet131022/Lab2 實作二]> ◣ |
| 2 | |
| 3 | = 實作一 Lab1 = |
| 4 | |
| 5 | {{{ |
| 6 | #!html |
| 7 | <p style="text-align: center;"><big style="font-weight: bold;"><big>單機模式<br/>Local (Standalone) Mode</big></big></p> |
| 8 | }}} |
| 9 | [[PageOutline]] |
| 10 | {{{ |
| 11 | #!text |
| 12 | 請先連線至 nodeN.3du.me , N 為您的報名編號 |
| 13 | }}} |
| 14 | |
| 15 | == <補充> 拿 Ubuntu 12.04 Live CD 當自習環境 == |
| 16 | |
| 17 | * 備註:經測試 Ubuntu 12.04 Live CD 在虛擬機器環境下運行,需要__'''至少 3GB RAM '''__才能正常執行後續的實作!! |
| 18 | * 若您是使用自己的 Ubuntu 12.04 Live CD 請先安裝 git |
| 19 | {{{ |
| 20 | user@node1:~$ sudo apt-get install git |
| 21 | }}} |
| 22 | |
| 23 | == STEP 1 : 從 github 取得本次課程的範例 == |
| 24 | |
| 25 | {{{ |
| 26 | user@node1:~$ git clone https://github.com/jazzwang/hadoop_labs.git |
| 27 | }}} |
| 28 | |
| 29 | * 您應該會看到類似底下的結果: |
| 30 | {{{ |
| 31 | #!text |
| 32 | user@node1:~$ git clone https://github.com/jazzwang/hadoop_labs.git |
| 33 | Cloning into 'hadoop_labs'... |
| 34 | remote: Counting objects: 249, done. |
| 35 | remote: Compressing objects: 100% (166/166), done. |
| 36 | remote: Total 249 (delta 115), reused 176 (delta 44) |
| 37 | Receiving objects: 100% (249/249), 53.64 KiB, done. |
| 38 | Resolving deltas: 100% (115/115), done. |
| 39 | }}} |
| 40 | * 檢查是否有 hadoop_labs 目錄 |
| 41 | {{{ |
| 42 | user@node1:~$ cd hadoop_labs/ |
| 43 | user@node1:~/hadoop_labs$ ls -al |
| 44 | }}} |
| 45 | |
| 46 | == STEP 2 : 執行安裝腳本 == |
| 47 | |
| 48 | * 首先, 我們來介紹 Hadoop 的三種安裝模式 |
| 49 | * <參考> http://hadoop.apache.org/docs/stable/single_node_setup.html |
| 50 | {{{ |
| 51 | #!text |
| 52 | Now you are ready to start your Hadoop cluster in one of the three supported modes: |
| 53 | |
| 54 | * Local (Standalone) Mode |
| 55 | * Pseudo-Distributed Mode |
| 56 | * Fully-Distributed Mode |
| 57 | }}} |
| 58 | |
| 59 | * 開始動手吧~請剪貼以下的步驟: |
| 60 | {{{ |
| 61 | user@node1:~$ cd ~/hadoop_labs |
| 62 | user@node1:~/hadoop_labs$ lab000/hadoop-local-mode |
| 63 | }}} |
| 64 | |
| 65 | * 等待安裝的過程中,讓我們來講解 [https://raw.github.com/jazzwang/hadoop_labs/master/lab000/hadoop-local-mode hadoop-local-mode 這隻 Shell Script] 做了哪些事情。 |
| 66 | 1. 安裝 Java Runtime Environment (JRE) 與 Java Development Kit (JDK) - 雖然目前 Oracle 已經釋出 JDK/JRE7,但 JDK/JRE 6 還是 Hadoop 開發者有經過大量測試驗證的版本。未來若要進行商業運轉,建議安裝 CDH4 或 HDP 搭配 JRE7。 |
| 67 | 2. 下載 hadoop-$VERSION.tar.gz |
| 68 | 3. 解壓縮到 ${HOME}/hadoop |
| 69 | 4. 設定 ${HOME}/hadoop/conf.local/hadoop-env.sh |
| 70 | 5. 設定 ${HOME}/.bashrc 加入 PATH 環境變數 |
| 71 | |
| 72 | * 安裝完成,首先先讓我們觀察有幾個 java process |
| 73 | {{{ |
| 74 | user@node1:~/hadoop_labs$ jps |
| 75 | }}} |
| 76 | |
| 77 | * 觀察有沒有開 port |
| 78 | {{{ |
| 79 | user@node1:~/hadoop_labs$ netstat -nap | grep java |
| 80 | }}} |
| 81 | |
| 82 | * 讓我們來複習一下 HDFS 的基本操作 |
| 83 | {{{ |
| 84 | user@node1:~/hadoop_labs$ cd ~ |
| 85 | user@node1:~$ ls |
| 86 | user@node1:~$ source ~/.bashrc |
| 87 | user@node1:~$ hadoop fs -ls |
| 88 | user@node1:~$ hadoop fs -mkdir tmp |
| 89 | user@node1:~$ hadoop fs -ls |
| 90 | user@node1:~$ ls |
| 91 | user@node1:~$ hadoop fs -put ${HOME}/hadoop/conf.local input |
| 92 | user@node1:~$ hadoop fs -ls |
| 93 | user@node1:~$ ls |
| 94 | }}} |
| 95 | |
| 96 | == 實作習題 == |
| 97 | |
| 98 | 試回答以下問題: |
| 99 | |
| 100 | 1. 當您下 jps 指令之後,除了 jps 以外,看到幾個 java process ? |
| 101 | {{{ |
| 102 | #!text |
| 103 | (A) 0,只有 jps 一個結果 |
| 104 | (B) 1 |
| 105 | (C) 2 |
| 106 | (D) 3 |
| 107 | (E) 4 |
| 108 | }}} |
| 109 | 2. 回到家目錄,執行 hadoop fs -ls 指令,您看到的結果跟直接下 ls 有無不同? |
| 110 | {{{ |
| 111 | #!text |
| 112 | (A) hadoop fs -ls 會顯示完整路徑,並將隱藏檔案也秀出來. ls 只會秀出一般的檔案 |
| 113 | (B) 顯示 can not access |
| 114 | }}} |
| 115 | 3. 在家目錄, 執行 hadoop fs -mkdir tmp 指令,對家目錄有何影響? |
| 116 | {{{ |
| 117 | #!text |
| 118 | (A) 在家目錄底下多了一個 tmp 目錄 |
| 119 | (B) 家目錄沒有任何改變 |
| 120 | }}} |