1 / 32

CHAPTER 7

CHAPTER 7. 認識 Hadoop. Outline. 什麼是 Hadoop Hadoop 的 架構 HDFS ( Hadoop Distributed File System ) HBase. 什麼是 Hadoop Hadoop 的架構 HDFS ( Hadoop Distributed File System) HBase. 什麼是 Hadoop ?. Hadoop is 一個 Apache 專案 分散式計算的平台 提供使用者簡易撰寫並執行 處理海量 資料應用程式的軟體平台。. Cloud Applications. MapReduce.

makan
Download Presentation

CHAPTER 7

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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

  5. Hadoop起源(2002~2004) • 創辦人-Doug-Cutting • Lucene • 用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也改名為HadoopDistributed File System (HDFS)

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

  9. Google vs. Hadoop

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

  11. Hadoop的架構(1/3) • Hadoop專案包含一些相關子專案 Pig Chukwa Hive MapReduce Avro ZooKeeper HBase HDFS Hadoop Core

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  26. 許多公司都在使用HBase • Adobe • 內部使用 (Structure data) • Kalooga • 圖片搜尋引擎 http://www.kalooga.com/ • Meetup • 社群聚會網站 http://www.meetup.com/ • Streamy • Migrate from MySQL to Hbase http://www.streamy.com/ • Trend Micro • 雲端掃毒架構 http://trendmicro.com/ • Yahoo! • 儲存文件 fingerprint 避免重複 http://www.yahoo.com/ • More - http://wiki.apache.org/hadoop/Hbase/PoweredBy

  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. 表格n 表格1 Region Region Region Region Hbase運作流程 表格0 Region Region 找出表格 Region位置 … .META. 找出.META. Region位置 Region -ROOT- 找出-ROOT-位置 Region Region ZooKeeper … Region … … Region …

More Related