wiki:jazz/12-10-02

2012-10-02

快速搭建 Hadoop 單機開發環境與雲端叢集架設實務

演講摘要

Hadoop經過七年的開發,終於在 2011 年 12 月釋出 1.0 版本,象徵著 Hadoop 已成熟到能支持企業營運需求。
即便如此,目前 Hadoop 最令人怯步的關鍵在於「不夠友善」。初學者往往第一個要面對的問題是缺乏佈建叢集
所需的背景知識。

在台灣,多數資訊從業人員仍以 Windows 為主要的作業系統。本次演講將跟各位聽眾分享一個名為 Hadoop4Win
的懶人包安裝程式,除了可以作為學習 Hadoop 生態系的第一步外,也可以作為開發 Hadoop 程式的實驗環境。
其次將跟各位介紹如何使用 hiCloud 搭建 Hadoop 叢集。

進行方式

  • 以下的展示,將多數跑在 hiCloud 上。為了避免有圖利 hiCloud 之嫌,最後會跟各位介紹國網中心的 EasyCloud 服務。
  • 不過這裡要先宣告的是講者跟 hiCloud 沒有利害關係,純粹只是想讓大家有一個標準化的平台可以去試用一些軟體。
  • 其次,在試用過 hicloud 之後,我們學習到要提供雲端服務並不容易,同樣地使用雲端服務也不容易。
  • 對於開發者來說,若能夠更自動化地進行用 Script 設定好虛擬機器,那才是真正好用的雲端服務。
  • 如果您想看較詳盡的文字說明,請參考 實作步驟簡介文章 PDF

Background : 申請 hicloud

  • 若您是中華電信用戶,您應該可以用 hinet 帳號或者手機登入。
  • 若您不是中華電信用戶,請點選「加入會員」
  • 如果您看不到操作介面,請安裝 Flash
  • Jazz: 非常不開放的架構,採用 Flash 撰寫,效率很差,也阻礙其他人撰寫自動化程式!!'''
  • 接著,請點選「雲運算」
  • 點選左方「虛擬主機」
  • 點選左側上方「申請」
  • 選擇要申請的虛擬主機類型,首先,我這次要選取的是 Windows,因為要展示 Hadoop4Win。

Demo 1 : hadoop4win

  • 現在我們啟動了一台 Windows 2003 的虛擬機器。(這樣才不會搞爛大會的公用電腦,愛怎麼操就用力操吧~)
  • 因為 IE 版本的問題,軟體不太好從 SourceForge 下載,所以我把程式放在底下的 URL
  • http://cloud.nchc.org.tw/~jazz/exe
  • 我們下載 hadoop4win 0.1.5 的版本,以及 pietty SSH Client 後續我們展示會用到。
  • 在安裝過程中,由於 Hadoop 會嘗試開啟一些連線埠(Port),您必須允許開啟。
  • 若安裝完成,您可以在「開始」選單看到 hadoop4win 的相關選項:
  • 由於 Cygwin 的一個 Bug ,我們必須將 Java Process 開在另一個視窗,請先點選 start-hadoop
  • 確認系統運行正常後,您可以點選 hadoop4win,於命令列中執行以下指令:
    jps
    
    hadoop fs -ls
    
    cd /opt/hadoop
    hadoop fs -put conf-pseudo input
    hadoop fs -ls
    

Demo 2 : hicloud-hadoop

  • 接著,礙於時間跟財力,這次我們只開啟三台 Linux 主機來示範 hicloud 搭建 Hadoop 的流程。
  • 確認狀態為「已申裝」
  • Jazz:就是開始算錢了啦~沒開機也算錢哦!特別注意!跟 Amazon 有開機才算錢的邏輯是不同的
  • 接著我們必須下載密碼檔。
  • 開啟 CSV 格式的密碼檔。
  • 用 PieTTY 連線到第一台,並輸入 CSV 裡的 root 密碼
  • 我們需要做一些前置準備,首先我們要產生 ssh 金鑰
  • 倘若您在自己的 Linux Server 產生金鑰也可以,這樣有助於您管理多台機器。
ssh-keygen -t rsa -P ""
  • 其次,為了讓第一台主機可以幫您用 Expect 幫您輸入預設密碼連入一台以上的虛擬機器,我們會用到 perl-expect
apt-get install libexpect-perl
  • 接著請下載 hicloud-hadoop 的 0.0.1 壓縮檔
    wget http://nchc.dl.sourceforge.net/project/hidoop/0.0.1/hicloud-hadoop-0.0.1.tar.gz
    tar zxvf hicloud-hadoop-0.0.1.tar.gz
    mkdir -p hicloud-hadoop/conf
    
  • 請注意,這個腳本只有在 Ubuntu 10.04 上測試過。
  • 若有興趣原始碼,請參考 http://github.com/jazzwang/hicloud-hadoop
  • 接著,請解開壓縮檔。並開始著手撰寫密碼設定檔。conf/master 是 NameNodeJobTracker。Slave 是除了 master 之外,其他台機器的 IP, username 跟密碼。
tar zxvf hicloud-hadoop-0.0.1.tar.gz
mkdir -p hicloud-hadoop/conf
  • 您可以用以下的指令來產生 master 檔,或者從 CSV 檔案拷貝到記事本,再用 PieTTY 上傳到第一台。
cat > hicloud-hadoop/conf/master << EOF
.... 貼上您的內容 ...
EOF
  • 您可以用以下的指令來產生 master 檔,或者從 CSV 檔案拷貝到記事本,再用 PieTTY 上傳到第一台。
cat > hicloud-hadoop/conf/slave << EOF
.... 貼上您的內容 ...
EOF
  • 接著切換到 hicloud-hadoop 目錄,並執行 install-ubuntu
    cd hicloud-hadoop
    ./install-ubuntu
    
  • 安裝完畢後,您會看到如下的訊息,告知您可以點選哪兩個連結檢查 Hadoop 叢集是否已經安裝好了。

Demo 3 : Ezilla

Last modified 12 years ago Last modified on Oct 2, 2012, 12:03:04 PM

Attachments (38)

Download all attachments as: .zip