Changes between Initial Version and Version 1 of NTUOSS160412/Lab1


Ignore:
Timestamp:
Apr 10, 2016, 11:53:16 AM (9 years ago)
Author:
jazz
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • NTUOSS160412/Lab1

    v1 v1  
     1◢  | <[wiki:NTUOSS160412 回課程大綱]> ▲ | <[wiki:NTUOSS160412/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== STEP 0 : 確認實驗環境 ==
     16
     17 * 此次課程,將運行於 Ubuntu 12.04.2 LTS 版本。
     18 * 為了方便課程進行,將採用遠端的 Amazon EC2 VM 為主要實驗環境,將只能使用到 2014/07/06 23:00 為止。
     19 * 首先請連線至 nodeN.3du.me ,請將 N 更換為您的報名編號。
     20
     21 || '''帳號''' || ubuntu || '''密碼''' || 現場說明 ||
     22
     23 * 使用 PuTTY 登入 Amazon EC2 的[http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.html 官方說明文件]
     24 * 其次,為了讓大家未來可以持續做課程實作練習,也將分享如何申請 http://koding.com 的虛擬機器服務。
     25
     26== 下載 pietty ==
     27
     28 * 您可以使用自己慣用的 SSH Client 來做練習,這裡只是提供一個國人修改自 PuTTY 的中文化 SSH Client。
     29 * http://ntu.csie.org/~piaip/pietty/archive/pietty0327.exe
     30
     31 * 如果講師提供的是 *.pem 的金鑰檔案,請下載 [http://the.earth.li/~sgtatham/putty/latest/x86/puttygen.exe PuttyGen] 並參考 Amazon EC2 的[http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.html 官方說明文件],將 *.pem 轉換成 *.ppk 金鑰檔案。
     32
     33 * 為了連線至 Amazon EC2 ,您必須先設定 PuTTY / PieTTY 採用 [http://the.earth.li/~sgtatham/putty/latest/x86/puttygen.exe PuttyGen] 產生的 *.ppk 金鑰,才有辦法連到 nodeN.3du.me
     34 * 設定參考畫面:
     35   * 請輸入遠端主機網址 nodeN.3du.me ,選擇 PuTTY 模式,然後參考下圖設置 ppk 金鑰。
     36   * [[Image(YMU110509/Lab1:pietty_01.jpg)]]
     37   * 然後選擇 SSH auth 選擇私鑰 userN.ppk
     38   * [[Image(III140614/Lab2:EC2_PPK.PNG)]]
     39
     40== <補充> 拿 Ubuntu 12.04 Live CD 當自習環境 ==
     41
     42 * 備註:經測試 Ubuntu 12.04 Live CD 在虛擬機器環境下運行,需要__'''至少 3GB RAM '''__才能正常執行後續的實作!!
     43 * 若您是使用自己的 Ubuntu 12.04 Live CD 請先安裝 git
     44{{{
     45~$ sudo apt-get -y install git
     46}}}
     47
     48== STEP 1 : 從 github 取得本次課程的範例 ==
     49
     50{{{
     51~$ git clone https://github.com/jazzwang/hadoop_labs.git
     52}}}
     53
     54 * 您應該會看到類似底下的結果:
     55{{{
     56#!text
     57~$ git clone https://github.com/jazzwang/hadoop_labs.git                                                     
     58Cloning into 'hadoop_labs'...
     59remote: Counting objects: 249, done.
     60remote: Compressing objects: 100% (166/166), done.
     61remote: Total 249 (delta 115), reused 176 (delta 44)
     62Receiving objects: 100% (249/249), 53.64 KiB, done.
     63Resolving deltas: 100% (115/115), done.
     64}}}
     65 * 檢查是否有 hadoop_labs 目錄
     66{{{
     67~$ cd hadoop_labs/
     68~/hadoop_labs$ ls -al
     69}}}
     70
     71== STEP 2 : 執行安裝腳本 ==
     72
     73 * 首先, 我們來介紹 Hadoop 的三種安裝模式
     74 * <參考> http://hadoop.apache.org/docs/stable/single_node_setup.html
     75{{{
     76#!text
     77Now you are ready to start your Hadoop cluster in one of the three supported modes:
     78
     79  * Local (Standalone) Mode
     80  * Pseudo-Distributed Mode
     81  * Fully-Distributed Mode
     82}}}
     83
     84 * 開始動手吧~請剪貼以下的步驟:
     85{{{
     86~$ cd ~/hadoop_labs
     87~/hadoop_labs$ sudo apt-get -y install wget
     88~/hadoop_labs$ lab000/hadoop-local-mode
     89}}}
     90
     91 * 等待安裝的過程中,讓我們來講解 [https://raw.github.com/jazzwang/hadoop_labs/master/lab000/hadoop-local-mode hadoop-local-mode 這隻 Shell Script] 做了哪些事情。
     92   1. 安裝 Java Runtime Environment (JRE) 與 Java Development Kit (JDK) - 雖然目前 Oracle 已經釋出 JDK/JRE7,但 JDK/JRE 6 還是 Hadoop 開發者有經過大量測試驗證的版本。未來若要進行商業運轉,建議安裝 CDH4 或 HDP 搭配 JRE7。
     93   2. 下載 hadoop-$VERSION.tar.gz
     94   3. 解壓縮到 ${HOME}/hadoop
     95   4. 設定 ${HOME}/hadoop/conf.local/hadoop-env.sh
     96   5. 設定 ${HOME}/.bashrc 加入 PATH 環境變數
     97
     98 * 安裝完成,首先先讓我們觀察有幾個 java process
     99{{{
     100~/hadoop_labs$ jps
     101}}}
     102
     103 * 觀察有沒有開 port
     104{{{
     105~/hadoop_labs$ netstat -nap | grep java
     106}}}
     107
     108 * 讓我們來複習一下 HDFS 的基本操作
     109{{{
     110~/hadoop_labs$ cd ~
     111~$ ls
     112~$ source ~/.bashrc
     113~$ hadoop fs -ls
     114~$ hadoop fs -mkdir tmp
     115~$ hadoop fs -ls
     116~$ ls
     117~$ hadoop fs -put ${HOME}/hadoop/conf.local input
     118~$ hadoop fs -ls
     119~$ ls
     120}}}
     121
     122== 實作習題 ==
     123
     124 試回答以下問題:
     125
     126 1. 當您下 jps 指令之後,除了 jps 以外,看到幾個 java process ?
     127{{{
     128#!text
     129    (A) 0,只有 jps 一個結果
     130    (B) 1
     131    (C) 2
     132    (D) 3
     133    (E) 4
     134}}}
     135 2. 回到家目錄,執行 hadoop fs -ls 指令,您看到的結果跟直接下 ls 有無不同?
     136{{{
     137#!text
     138    (A) hadoop fs -ls 會顯示完整路徑,並將隱藏檔案也秀出來. ls 只會秀出一般的檔案
     139    (B) 顯示 can not access
     140}}}
     141 3. 在家目錄, 執行 hadoop fs -mkdir tmp 指令,對家目錄有何影響?
     142{{{
     143#!text
     144    (A) 在家目錄底下多了一個 tmp 目錄
     145    (B) 家目錄沒有任何改變
     146}}}