◢ | <[wiki:III140118 回課程大綱]> ▲ | <[wiki:III140118/Lab2 實作二]> ◣ = 實作一 Lab1 = {{{ #!html

單機模式
Local (Standalone) Mode

}}} [[PageOutline]] {{{ #!text 請先連線至 nodeN.3du.me , N 為您的報名編號 }}} == STEP 0 : 確認實驗環境 == * 此次課程,將運行於 Ubuntu 12.04.2 LTS 版本。 * 為了方便課程進行,將採用遠端的 hiCloud VM 為主要實驗環境,將只能使用到 2014/01/19 23:00 為止。 * 如果對於如何使用 hiCloud CaaS API 有興趣的,請參考 https://github.com/jazzwang/hicloud-hadoop/tree/master/api 的程式碼。 * 首先請連線至 https://nodeN.3du.me ,請將 N 更換為您的報名編號。 || '''帳號''' || lab || '''密碼''' || 現場說明 || == 下載 pietty == * 您可以使用自己慣用的 SSH Client 來做練習,這裡只是提供一個國人修改自 PuTTY 的中文化 SSH Client。 * http://ntu.csie.org/~piaip/pietty/archive/pietty0327.exe {{{ ssh hdp編號 -l ubuntu }}} == <補充> 拿 Ubuntu 12.04 Live CD 當自習環境 == * 備註:經測試 Ubuntu 12.04 Live CD 在虛擬機器環境下運行,需要__'''至少 3GB RAM '''__才能正常執行後續的實作!! * 若您是使用自己的 Ubuntu 12.04 Live CD 請先安裝 git {{{ lab@node1:~$ sudo apt-get -y install git }}} == STEP 1 : 從 github 取得本次課程的範例 == {{{ lab@node1:~$ git clone https://github.com/jazzwang/hadoop_labs.git }}} * 您應該會看到類似底下的結果: {{{ #!text lab@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 目錄 {{{ lab@node1:~$ cd hadoop_labs/ lab@node1:~/hadoop_labs$ ls -al }}} == STEP 2 : 執行安裝腳本 == * 首先, 我們來介紹 Hadoop 的三種安裝模式 * <參考> http://hadoop.apache.org/docs/stable/single_node_setup.html {{{ #!text Now you are ready to start your Hadoop cluster in one of the three supported modes: * Local (Standalone) Mode * Pseudo-Distributed Mode * Fully-Distributed Mode }}} * 開始動手吧~請剪貼以下的步驟: {{{ lab@node1:~$ cd ~/hadoop_labs lab@node1:~/hadoop_labs$ sudo apt-get -y install wget lab@node1:~/hadoop_labs$ lab000/hadoop-local-mode }}} * 等待安裝的過程中,讓我們來講解 [https://raw.github.com/jazzwang/hadoop_labs/master/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 {{{ lab@node1:~/hadoop_labs$ jps }}} * 觀察有沒有開 port {{{ lab@node1:~/hadoop_labs$ netstat -nap | grep java }}} * 讓我們來複習一下 HDFS 的基本操作 {{{ lab@node1:~/hadoop_labs$ cd ~ lab@node1:~$ ls lab@node1:~$ source ~/.bashrc lab@node1:~$ hadoop fs -ls lab@node1:~$ hadoop fs -mkdir tmp lab@node1:~$ hadoop fs -ls lab@node1:~$ ls lab@node1:~$ hadoop fs -put ${HOME}/hadoop/conf.local input lab@node1:~$ hadoop fs -ls lab@node1:~$ ls }}} == 實作習題 == 試回答以下問題: 1. 當您下 jps 指令之後,除了 jps 以外,看到幾個 java process ? {{{ #!text (A) 0,只有 jps 一個結果 (B) 1 (C) 2 (D) 3 (E) 4 }}} 2. 回到家目錄,執行 hadoop fs -ls 指令,您看到的結果跟直接下 ls 有無不同? {{{ #!text (A) hadoop fs -ls 會顯示完整路徑,並將隱藏檔案也秀出來. ls 只會秀出一般的檔案 (B) 顯示 can not access }}} 3. 在家目錄, 執行 hadoop fs -mkdir tmp 指令,對家目錄有何影響? {{{ #!text (A) 在家目錄底下多了一個 tmp 目錄 (B) 家目錄沒有任何改變 }}}