[[PageOutline]]
◢ | <[wiki:NTUOSS160412 回課程大綱]> ▲ | <[wiki:NTUOSS160412/Lab2 實作二]> ◣
= 實作一 Lab 1 =
{{{
#!html
在 Koding.com 上安裝 Hadoop
Hadoop installation in Practice
}}}
== STEP 0 : 註冊 koding 帳號並開啟一台虛擬機器 ==
* 連線至 https://koding.com/Login 選擇 Sign Up 註冊新的帳號,或者用 github 帳號登入
* 連上虛擬機器 https://koding.com/Terminal
== STEP 1 : 從 github 取得本次課程的範例 ==
* 在 Terminal 中輸入以下指令
{{{
~$ sudo apt-get -y install git wget
~$ git clone https://github.com/jazzwang/hadoop_labs.git
}}}
* 您應該會看到類似底下的結果:
{{{
#!text
~$ 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 目錄
{{{
~$ cd hadoop_labs/
~/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
}}}
* 開始動手吧~請剪貼以下的步驟:
{{{
~$ cd ~/hadoop_labs
~/hadoop_labs$ sudo apt-get -y install wget
~/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
{{{
~/hadoop_labs$ jps
}}}
* 觀察有沒有開 port
{{{
~/hadoop_labs$ netstat -nap | grep java
}}}
* 讓我們來複習一下 HDFS 的基本操作
{{{
~/hadoop_labs$ cd ~
~$ ls
~$ source ~/.bashrc
~$ hadoop fs -ls
~$ hadoop fs -mkdir tmp
~$ hadoop fs -ls
~$ ls
~$ hadoop fs -put ${HOME}/hadoop/conf.local input
~$ hadoop fs -ls
~$ 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) 家目錄沒有任何改變
}}}