Presentation is loading. Please wait.

Presentation is loading. Please wait.

CHAPTER 7 認識Hadoop.

Similar presentations


Presentation on theme: "CHAPTER 7 認識Hadoop."— Presentation transcript:

1 CHAPTER 7 認識Hadoop

2 Outline 什麼是Hadoop Hadoop的架構 HDFS (Hadoop Distributed File System)
HBase

3 什麼是Hadoop Hadoop的架構 HDFS (Hadoop Distributed File System) HBase

4 Hadoop Distributed File System (HDFS)
Hadoop is 一個Apache專案 分散式計算的平台 提供使用者簡易撰寫並執行處理海量資料應用程式的軟體平台。 Hadoop Distributed File System (HDFS) MapReduce Hbase A Cluster of Machines Cloud Applications

5 Hadoop起源(2002~2004) 創辦人-Doug-Cutting Lucene Nutch
用Java 設計的高效能文件索引引擎API 索引文件中的每一字,讓搜尋的效率比傳統逐字比較還要高的多 Nutch Nutch 是基於開放原始碼所開發的網站搜尋引擎 利用Lucene 函式庫開發

6 Hadoop轉折點 Nutch後來遇到儲存大量網站資料的瓶頸 Google在一些會議分享他們的三大關鍵技術
SOSP 2003 : “The Google File System” OSDI 2004 : “MapReduce : Simplifed Data Processing on Large Cluster” OSDI 2006 : “Bigtable: A Distributed Storage System for Structured Data”

7 Hadoop起源(2004~Now) Doug-Cutting 參考 Google 提出的三項技術
先後把 Distributed File System (NDFS) 以及 MapReduce 實作在 Nutch 在2006年時,Nutch 把分散式計算 (Distributed Computing) 的部分獨立出來,稱之為Hadoop專案 Yahoo 雇用 Doug-Cutting 建立網頁搜尋引擎 NDFS也改名為 Hadoop Distributed File System (HDFS)

8 Hadoop的特色 海量 Vast Amounts of Data 經濟 Cost Efficiency
擁有儲存與處理大量資料的能力 經濟 Cost Efficiency 可以用在由一般PC所架設的叢集環境內 效率 Parallel Performance 透過分散式檔案系統的幫助,以得到快速的回應 可靠 Robustness 當某節點發生錯誤,能即時自動取得備份資料及佈署運算資源

9 Google vs. Hadoop 開發團隊 Google Apache 贊助者 Yahoo, Amazon 資源
open document open source 程式撰寫模式 MapReduce Hadoop MapReduce 檔案系統 GFS HDFS 資料庫系統 Bigtable Hbase 搜尋引擎 Nutch 作業系統 Linux Linux / GPL

10 什麼是Hadoop Hadoop的架構 HDFS (Hadoop Distributed File System) HBase

11 Hadoop的架構(1/3) Pig Chukwa Hive MapReduce ZooKeeper Avro HBase HDFS
Hadoop Core

12 Hadoop的架構(2/3) Core: Avro: MapReduce: HDFS: Pig:
核心部分包含一些分散式檔案系統及一般輸出入的重要元件跟介面。 Avro: 一個有效率,跨越各種語言的RPC的資料序列化系統。 MapReduce: 一個分散式資料處理模式及執行環境。 HDFS: 一個分散式檔案系統。 Pig: 處理大量資料集的資料流語言與執行環境。

13 Hadoop的架構(3/3) HBase: ZooKeeper: Hive: Chukwa:
一個分散式以列 (row) 為導向的資料庫系統。 ZooKeeper: 一個分散式協同服務,可以提供分散式應用程式的原始指令。 Hive: 一個分散式資料倉儲系統,管理HDFS上所儲存的資料並提供SQL為基礎的詢問語言。 Chukwa: 一個分散式資料收集及分析系統。

14 什麼是Hadoop Hadoop的架構 HDFS (Hadoop Distributed File System) HBase

15 Hadoop Distributed File System (HDFS)
實現類似Google File System 分散式檔案系統 一個易於擴充的分散式檔案系統,目的為對大量資料進行分析 運作於廉價的普通硬體上,又可以提供容錯功能 給大量的用戶提供總體性能較高的服務 Hadoop Distributed File System (HDFS) MapReduce Hbase A Cluster of Machines Cloud Applications

16 HDFS的特色(1/2) 硬體容錯能力 Fault Tolerance 串流式的資料存取 Streaming data access
硬體錯誤是正常而非異常 自動恢復或故障排除 串流式的資料存取 Streaming data access 批次處理多於用戶交互處理 高Throughput而非低Latency 大規模資料集 Large data sets and files 支援Petabytes等級的磁碟空間 一致性模型 Coherency Model 一次寫入,多次存取 簡化一致性處理問題

17 HDFS的特色(2/2) 在地運算 Data Locality 異質平台移植性 Heterogeneous
到資料的節點上計算 > 將資料從遠端複製過來計算 異質平台移植性 Heterogeneous 即使硬體不同也可移植、擴充

18 HDFS架構的兩種關鍵角色 名稱節點 NameNode 資料節點 DataNode 整個HDFS只有一個名稱節點
負責管理檔案系統的命名空間 (namespace) 記錄所有檔案及目錄的metadata 各項檔案屬性權限等資訊的管理及儲存 記錄檔案的各個Blocks置放於哪些資料節點 資料節點 DataNode 可以多個資料節點 處理使用者存取Block的請求,並定時地回報Block狀態給名稱節點

19 HDFS的架構 名稱節點 第二組 名稱節點 資料節點

20 HDFS存取流程 (1)檔案名稱 第二組 名稱節點 Client 名稱節點 (2)檔案metadata (3)存取資料 資料節點

21 HDFS檔案讀取 2: get block location 1: open() NameNode Distributed
FileSystem HDFS Client 6: close() 3: read() FSData InputStream client JVM client Node 4: read() 5: read() DateNode DateNode DateNode

22 HDFS檔案寫入 2: create file 1: create() NameNode Distributed FileSystem
Client 7: complete 6: close() 3: write() FSData InputStream client JVM client Node 4: write packet 5: ack packet DateNode 4 DateNode 4 DateNode 5 5

23 什麼是Hadoop Hadoop的架構 HDFS (Hadoop Distributed File System) HBase

24 Hadoop Distributed File System (HDFS)
什麼是HBase? HBase是一種分散式欄導向 (column-oriented) 資料庫 可擴展的資料儲存 在2008年Hadoop成為Apache的專案時,HBase也成為其子專案之一。 Hadoop Distributed File System (HDFS) MapReduce Hbase A Cluster of Machines Cloud Applications

25 Hbase的好處 分散式儲存 表格式的數據結構 高可擴展性 高可用性 高效效

26 許多公司都在使用HBase Adobe Kalooga Meetup Streamy Trend Micro Yahoo!
內部使用 (Structure data) Kalooga 圖片搜尋引擎 Meetup 社群聚會網站 Streamy Migrate from MySQL to Hbase Trend Micro 雲端掃毒架構 Yahoo! 儲存文件 fingerprint 避免重複 More -

27 HBase的關鍵角色(1/2) HMaster HRegionserver slaves 負責監控HRegionserver slaves
當HRegionServer 失敗時,轉移該Hregionserver 上的資料到其它HRegionServer。 HRegionserver slaves 接受Client 端發送的請求 (寫/讀/瀏覽) 負責回報HRegions 狀態給HMaster 每個HRegionServer會被分配到多個 (也可能沒有) HRegions

28 HBase的關鍵角色(2/2) ZooKeeper 是一個集中式的服務機制
存放HBase的綱要 (包含有哪些表格及column families)、所有HRegion的位置及監控HRegionServer的狀態等 提供維護資源配置資訊、命名、分散式同步機制及群組服務等功能 可為HBase提供穩定服務及故障轉移 (failover) 的機制

29 HBase的架構

30 Hbase 的Data Model

31 Example Conceptual View Physical Storage View

32 Hbase運作流程 表格0 Region Region 找出表格 Region位置 … 找出.META. .META. Region位置
表格1 Region Region -ROOT- 找出-ROOT-位置 Region Region ZooKeeper Region 表格n Region Region


Download ppt "CHAPTER 7 認識Hadoop."

Similar presentations


Ads by Google