下載/瀏覽

Download Report

Transcript 下載/瀏覽

研究於Hadoop的雲端計算模型及其應用
Huang Lu, Hu Ting ting
2012 Third International Conference on Networking and Distributed Computing
報告者:吳慧菱
報告日期:2014/12/04
大 綱
 緒論
 Hadoop雲端運算架構
 Hadoop雲端運算模型
 Hadoop的狀態
 Hadoop現有的問題
 Hadoop的性能優化
 結論
緒 論 (1/3)
 近年來,隨著雲端運算技術概念和應用的普及,Hadoop越
來越受學術界人士和工業界關注。
 Hadoop 雲 端 運 算 架 構 是 由 Apache 所 主 導 與 開 發 的 ,
Hadoop具備高度擴充性及可用度的大型資料處理技術。
1
緒 論 (2/3)
 Hadoop雲端運算技術由三個主要架構組成:
1.
分散式檔案系統架構(HDFS)
2.
分散式資料庫架構(HBase)
3.
分散式資料平行運算處理架構(MapReduce)。
2
緒 論 (3/3)
Open-source
Cloud Computing System
Commercial
Cloud Computing System
Hadoop HDFS
Google GFS
Hadoop MapReduce
Google MapReduce
Hadoop HBase
Google Bigtable
Hadoop ZooKeeper
Google Chubby
Hadoop Pig
Google Sawzall
Ecualyptus, Enomalv ECP, Nimbus
Amazon EC2
Eucalyptus
Amazon S3
表1. Open-source和商業雲端運算系統之間的對應關係
3
Hadoop雲端運算架構 (1/2)
 Hadoop不只是用於存
儲分散式檔案系統,也
可在通用計算設備組成
的大型群集上運行分散
式應用的框架。
4
Hadoop雲端運算架構 (2/2)
 為了確保可靠性,HDFS
創建多個數據塊副本,
並將它們放在計算節點
服務器群集上。接著利
用 MapReduce 處 理 它
們所在節點上的數據。
5
Hadoop雲端運算模型 (1/8)
 Hadoop主要是採用主/從(Master/Slave)結構模型。
 Master是負責NameNode和JobTracker。

JobTracker 的 主 要 職 責 是
實施任務、跟蹤和調度各個
Slave的任務執行。
6
Hadoop雲端運算模型 (2/8)
 Slave是負責DataNode和TaskTracker。


TaskTracker的主要職責是管理
根據從應用程序和報告的狀態
和性能到JobTracker的請求,
收集的本地數據和結果數據的
處理。
當JobTracker和TaskTracker同
時 主 要 處 理 MapReduce 任 務
時,NameNode和DataNode
會被委託實現HDFS的任務。
7
Hadoop雲端運算模型 (3/8)
 HDFS(分散式檔案系統)

HDFS將檔案切割成大小相
同的區塊,DataNode則
以區塊為單位,實際儲存
資料,並負責管理資料內
容,每個區塊可以獨立被
建立、複製或刪除。
8
Hadoop雲端運算模型 (4/8)
 HDFS的特性歸納如下:
1.
資料僅可讀取,無法更新修改。
2.
檔案內容分散儲存,降低風險。
3.
檔案資訊與實體資料分離,增加擴充性。
9
Hadoop雲端運算模型 (5/8)

MapReduce(分散式資料平行運算處理)

在MapReduce框架中,
JobTracker是唯一的主控,
它可以在任何電腦上執行
其它TaskTracker的調度和
管 理 , 分 配 Map 任 務 和
Reduce 任 務 的 自 由
TaskTracker並行運行和監
視任務的條件。
MapReduce的任務分配關係圖
10
Hadoop雲端運算模型 (6/8)
Hadoop的資料處理
11
Hadoop雲端運算模型 (7/8)
 MapReduce的特性歸納如下:
1.
適合處理大量資料。
2.
擴充容易,可快速提升處理效能。
12
Hadoop雲端運算模型 (8/8)
 HBase(分散式資料庫架構)
 是以欄位(column)為單位的分散式資料庫系統架構。
 依據欄位大小分割資料,並分散到多部機器。
 壓縮資料,節省磁碟存放空間。
 利用記憶體存取快速的優點,加速資料的讀寫動作。
13
Hadoop的狀態 (1/2)

應用與研究的現狀
應用
Yahoo
Facebook
百度
淘寶網
亞馬遜
阿里巴巴
Twitter
中國移動研究院
研究
廣告系統、Web搜索
資料分析、機器學習
搜尋日誌分析、Web資料探勘
儲存和處理電子商務交易的數據
產品的下標
整理業務數據、ISEARCH搜尋引擎
儲存微網誌、日誌文件、中間數據
BigCloud系統進行數據分析,並提供外部服務。
14
Hadoop的狀態 (2/2)

發展趨勢
除了互聯網行業,很多研究機構和大學在國內外也投入的
Hadoop的研究。這不但有助於Hadoop的技術的推廣和發展,
也拓寬了應用的大規模數據處理的範圍,更讓Hadoop可以在許
多方面進行改進。
 隨著雲計算技術的成熟成長,它已逐漸從理論研究階段改為練習階
段,這意味著,Hadoop的研究和應用將得到越來越多的關注學
術界。毫無疑問,在不久的將來,在技術研究和應用的Hadoop
的熱潮將爆發。
15
Hadoop現有的問題
1.
NameNode/JobTracker其中任何一點故障。
2.
HDFS小檔案的問題。
3.
因為JobTracker是負責監測和調度同步,可能會造成過載。
4.
數據處理性能。
16
Hadoop的性能優化 (1/4)
 從應用程序進行優化的角度來看
 因為MapReduce的反覆和逐行解析資料檔案,在這種情況下,高
效率的編程應用程序是一種優化。MapReduce的性能可以以下幾
個方面來提高:
避免不必要的reduce任務。
拉外部檔案。
添加組合到Job。
重用可寫式。
用StringBuffer,而不是String來跟蹤程序的瓶頸。
17
Hadoop的性能優化 (2/4)
 Hadoop的系統參數優化
 在目前的Hadoop系統有超過190配置參數,要如何調整這些參數,
使作業可以運行盡可能快也是一種優化的想法。Hadoop的系統參
數優化可以從以下三個方面入手:
Linux文件系統的參數。
Hadoop的一般參數。
Hadoop作業參數。
18
Hadoop的性能優化 (3/4)
 Hadoop的Job調度算法的優化
 Hadoop是基於群集設備資訊和節點數量的配置,事實已經證明可
以提高Hadoop群集的性能。然而,這種方法只能優化靜態性能,
不能在執行時,修改配置檔案、加載或放進動態性能,而優化Job
調度算法可以有效解決這個問題。
 調度在Hadoop中,是一個可以操控的模組,而使用者可以根據自
己的實際應用需求來設計。
19
Hadoop的性能優化 (4/4)
任務調度程序
1.
預設的調度
2.
與調度的運算能力
3.
公平分享調度算法
20
結 論

Hadoop雲端運算系統相較於傳統網路伺服器架構,這些雲端運算技
術擁有更大的擴充延展性、更多的資料運算能力,以及更快速的異常
復原能力。但是在應用到實體上,要如何掌握關鍵技術、如何優化性
能,這將是未來必須面對的挑戰。
21