Hadoop as a Service(1)雲端時代的 Hadoop Cluster 環境建置 by MonsterSupreme | CodeData
top

Hadoop as a Service(1)雲端時代的 Hadoop Cluster 環境建置

分享:

HDInsight Ecosystem

圖片來源:http://henry416.wordpress.com/bigdatanote/

HDInsight 是 Microsoft 在 Azure 上頭提供的 Hadoop 服務,讓以往繁瑣的 Hadoop Cluster 設定,變成只是幾個簡單的精靈頁面操作。Hadoop 的 HDFS 分散式檔案系統,跟 Azure 的 Storage (儲存體) 整合在一起,MapReduce 應用程式則是直接丟到 Cluster 內的各個 Windows Server 虛擬機器上面執行。所以 Hadoop as a Service (HaaS) 的第一課,就是帶領大家在 Microsoft Azure 上頭從無到有,建置自己的 Hadoop Cluster。

Preparation

想要使用 Microsoft Azure 平台,必須:

  1. 申請 Microsoft 帳號
  2. 訂閱 Microsoft Azure 服務

Microsoft 為了鼓勵大家學習,提供了每個 Microsoft 帳號一個月內 200 美金的額度,讓大家可以放心試用所有 Azure 上提供的各種雲端服務。如果還沒開通 Microsoft 帳號、加入 Azure 的 Free Trial 訂閱的話,可以參考 建立 Azure 帳號 網頁的說明。

Azure Free Trial

Azure Storage

Hadoop 與 Azure 的整合,在 HDFS 這個部份,主要是透過 Azure 的 Blob Storage (儲存體)。

Microsoft Azure 的 Blob Storage,是一個適合存放非結構化資料的 Storage,特色是 High Availability、High Scalability、與 High Capacity,剛好跟 HDFS 的要求不謀而合。所以 HDInsight 移植 HDFS 的時候,其實就是把 HDFS 架在 Blob Storage 上頭。也因為如此,我們必須先建立 Blob Storage,待會在建置 HDInsight Cluster 的時候,才能選取使用。

首先登入 Windows Azure Management Portal,點選左邊的儲存體,然後按下建立儲存體帳戶連結:

Azure Storage 01

接下來這個畫面是儲存體帳戶 (Storage Account) 的重點:

  • URL 請輸入自訂的儲存體帳戶名稱,比方說 monsterazurestorage,這邊只允許 3-24 個小寫字母或數字,後面會串上 .*.core.windows.net 網址
  • 位置/同質群組跟待會要建立的 HDInsight Cluster 選取同一個地區,所以目前只能選取美國東部、北歐、東南亞、西歐、或美國西部
  • 複寫視情況選取本機多餘地理多餘

Azure Storage 02

按下右下角的建立儲存體帳戶連結,就會開始建構儲存體帳戶,畫面如下:

Azure Storage 03

建構完成之後,狀態會顯示線上

Azure Storage 04

這時候,請按下正下方的管理存取金鑰圖示,畫面會顯示存取 monsterazurestorage 這個儲存體帳戶資料的主要存取金鑰次要存取金鑰,都是 512 Bit 長,請記錄下來備用:

Azure Storage 05

如果按下儲存體帳戶的名稱 monsterazurestorage,可以進入一個簡單的 Portal 頁面:

Azure Storage 06

按下最右邊的容器,會列出目前所有的容器清單:

Azure Storage 07

目前沒有任何容器,所以請按下建立容器連結,輸入以下資料:

  • 名稱可以是 3-63 個小寫英文字母、數字、跟連字號(-),而且必須以字母或數字開頭,並且不能包含兩個連續連字號,比方說 demodata
  • 存取視情況選取私用公用容器、或公用 Blob,選公用容器對初學者比較方便

三種不同存取方式的權限差別是:

  • 私用:只有帳戶擁有者才可以存取
  • 公用容器:允許對容器和 Blob 的完整公開讀取權限,包括 Metadata 在內
  • 公用 Blob:允許對容器中 Blob 的公開讀取權限,但是不允許存取容器的 Metadata,所以,要有完整的 Blob URL,才能夠存取 Blob

Azure Storage 08

完成之後畫面如下:

Azure Storage 09

HDInsight Cluster

有了儲存體 (Blob Storage),也就是準備好了 HDFS 之後,接下來就是開始建立 HDInsight Cluster。

首先登入 Windows Azure Management Portal,點選左邊的 HDINSIGHT,然後按下建立 HDInsight 叢集連結:

HDInsight Cluster 01

HDInsight Cluster 建立方式有兩種,快速建立畫面設定比較簡單:

  • 叢集名稱請輸入自訂的 Cluster 名稱,可以是 3-63 個英文字母、數字、跟連字號(-),比方說 monsterhdinsightcluster
  • 叢集大小請根據實際狀況選取 1、2、4、8、16、或 32 Data Node
  • 叢集使用者名稱固定是 admin
  • 密碼必須是 10 個以上、包含大寫、小寫、數字、與特殊字元的字串,而且不可以包含使用者名稱
  • 儲存體帳戶目前可以選取美國東部、北歐、東南亞、西歐、或美國西部的儲存體帳戶,畫面中選取的是之前建立的 monsterazurestorage

HDInsight Cluster 02

自訂建立畫面可以做到比較細微的控制:

  • 叢集名稱請輸入自訂的 Cluster 名稱,可以是 3-63 個英文字母、數字、跟連字號(-),比方說 monsterhdinsightcluster
  • 資料節點請根據實際狀況自行輸入
  • HDINSIGHT 版本可以是 default、1.6、2.1、或 3.0
  • 地區目前可以選取美國東部、北歐、東南亞、西歐、或美國西部

HDInsight Cluster 03

HDInsight 的版本與 Hortonworks Data Platform (HDP) 以及 Hadoop 的關係如下:

  • HDInsight 1.6 = HDP 1.1.0 = Hadoop 1.0.3
  • HDInsight 2.1 = HDP 1.3.0 = Hadoop 1.2.0
  • HDInsight 3.0 = HDP 2.0.0 = Hadoop 2.2.0

詳細內容請參閱 What’s new in the cluster versions provided by HDInsight?

按下往右的箭頭圖示之後,繼續設定第二個畫面:

  • 使用者名稱請輸入自訂的帳號,可以是 3-63 個字元,使用 admin 即可
  • 密碼確認密碼請自行輸入
  • 視實際情況需要勾選進入 Hive/Oozie 中繼存放區,要勾選的話,必須在同一個資料中心內有 SQL 資料庫才可以

HDInsight Cluster 04

按下往右的箭頭圖示之後,繼續設定第三個畫面:

  • 儲存體帳戶可以視實際情況需要選擇使用現有的儲存體建立新的儲存體、或從另一個訂用帳戶使用儲存體
  • 帳戶名稱請視實際情況選取,比方說之前建立的 monsterazurestorage,或是當場建立
  • 預設容器請視實際情況選取,比方說之前建立的 demodata,或是當場建立
  • 其他儲存體帳戶請視實際情況選取,沒有就選 0,最多可以連接另外 7 個

HDInsight Cluster 05

因為過程中必須經過正在提交已接受Windows Azure VM 組態HDInsight 組態等階段,所以需要 5-10 分鐘才能完成:

HDInsight Cluster 06

建構完成之後,狀態會顯示正在執行

HDInsight Cluster 07

到這個階段,HDInsight Cluster 就建置完成,設定成 Hadoop 所謂的 Fully-Distributed Mode 模式。

因為 HDInsight 服務目前是不能關機暫停運行的,所以如果執行完 Hadoop 相關應用之後,請記得按下畫面最底下中央的刪除圖示,把建構好的 HDInsight Cluster 刪除,不然這時候開了一堆 Multi-Core VM,不停掉是會一直燒錢的喔!

後續 >> Hadoop as a Service(2)在 HDInsight Cluster 執行 MapReduce 程式

分享:
按讚!加入 CodeData Facebook 粉絲群

相關文章

留言

留言請先。還沒帳號註冊也可以使用FacebookGoogle+登錄留言

關於作者

目前從事教育訓練工作。自認為會的技術不多,但是學不會的也不多,最擅長把老闆交代的工作,以及找不到老師教的技術,想辦法變成自己的專長。

熱門論壇文章

熱門技術文章