wiki:Hinet131105/Lab1

Version 4 (modified by jazz, 11 years ago) (diff)

--

◢ | <回課程大綱> ▲ | <實作二> ◣

實作一 Lab1

單機模式
Local (Standalone) Mode

請先連線至 nodeN.3du.me , N 為您的報名編號

STEP 0 : 確認實驗環境

  • 此次課程,將運行於 Ubuntu 12.04.2 LTS 版本。
  • 為了方便課程進行,將採用遠端的 hiCloud VM 為主要實驗環境,將只能使用到 2013/11/15 23:00 為止。
  • 如果對於如何使用 hiCloud CaaS API 有興趣的,請參考 https://github.com/jazzwang/hicloud-hadoop/tree/master/api 的程式碼。
帳號 myid 密碼 現場說明

<補充> 拿 Ubuntu 12.04 Live CD 當自習環境

  • 備註:經測試 Ubuntu 12.04 Live CD 在虛擬機器環境下運行,需要至少 3GB RAM 才能正常執行後續的實作!!
  • 若您是使用自己的 Ubuntu 12.04 Live CD 請先安裝 git
    user@node1:~$ sudo apt-get install git
    

STEP 1 : 從 github 取得本次課程的範例

user@node1:~$ git clone https://github.com/jazzwang/hadoop_labs.git
  • 您應該會看到類似底下的結果:
    user@node1:~$ git clone https://github.com/jazzwang/hadoop_labs.git                                                     
    Cloning into 'hadoop_labs'...
    remote: Counting objects: 249, done.
    remote: Compressing objects: 100% (166/166), done.
    remote: Total 249 (delta 115), reused 176 (delta 44)
    Receiving objects: 100% (249/249), 53.64 KiB, done.
    Resolving deltas: 100% (115/115), done. 
    
  • 檢查是否有 hadoop_labs 目錄
    user@node1:~$ cd hadoop_labs/
    user@node1:~/hadoop_labs$ ls -al
    

STEP 2 : 執行安裝腳本

  • 開始動手吧~請剪貼以下的步驟:
    user@node1:~$ cd ~/hadoop_labs
    user@node1:~/hadoop_labs$ lab000/hadoop-local-mode
    
  • 等待安裝的過程中,讓我們來講解 hadoop-local-mode 這隻 Shell Script 做了哪些事情。
    1. 安裝 Java Runtime Environment (JRE) 與 Java Development Kit (JDK) - 雖然目前 Oracle 已經釋出 JDK/JRE7,但 JDK/JRE 6 還是 Hadoop 開發者有經過大量測試驗證的版本。未來若要進行商業運轉,建議安裝 CDH4 或 HDP 搭配 JRE7。
    2. 下載 hadoop-$VERSION.tar.gz
    3. 解壓縮到 ${HOME}/hadoop
    4. 設定 ${HOME}/hadoop/conf.local/hadoop-env.sh
    5. 設定 ${HOME}/.bashrc 加入 PATH 環境變數
  • 安裝完成,首先先讓我們觀察有幾個 java process
    user@node1:~/hadoop_labs$ jps
    
  • 觀察有沒有開 port
    user@node1:~/hadoop_labs$ netstat -nap | grep java
    
  • 讓我們來複習一下 HDFS 的基本操作
    user@node1:~/hadoop_labs$ cd ~
    user@node1:~$ ls
    user@node1:~$ source ~/.bashrc
    user@node1:~$ hadoop fs -ls
    user@node1:~$ hadoop fs -mkdir tmp
    user@node1:~$ hadoop fs -ls
    user@node1:~$ ls
    user@node1:~$ hadoop fs -put ${HOME}/hadoop/conf.local input
    user@node1:~$ hadoop fs -ls
    user@node1:~$ ls
    

實作習題

試回答以下問題:

  1. 當您下 jps 指令之後,除了 jps 以外,看到幾個 java process ?
        (A) 0,只有 jps 一個結果
        (B) 1
        (C) 2
        (D) 3
        (E) 4
    
  2. 回到家目錄,執行 hadoop fs -ls 指令,您看到的結果跟直接下 ls 有無不同?
        (A) hadoop fs -ls 會顯示完整路徑,並將隱藏檔案也秀出來. ls 只會秀出一般的檔案
        (B) 顯示 can not access 
    
  3. 在家目錄, 執行 hadoop fs -mkdir tmp 指令,對家目錄有何影響?
        (A) 在家目錄底下多了一個 tmp 目錄
        (B) 家目錄沒有任何改變