Hadoop 簡介 教師 許智威
Transcript of Hadoop 簡介 教師 許智威
![Page 1: Hadoop 簡介 教師 許智威](https://reader031.fdocuments.net/reader031/viewer/2022012318/55c3f2dcbb61eb89068b45eb/html5/thumbnails/1.jpg)
雲端運算概論Hadoop & MapReduce 介紹
Hadoop 簡介
教師 : 許智威
KSU. CCS
![Page 2: Hadoop 簡介 教師 許智威](https://reader031.fdocuments.net/reader031/viewer/2022012318/55c3f2dcbb61eb89068b45eb/html5/thumbnails/2.jpg)
2
Outline
什麼是 HadoopHadoop 的架構HDFS (Hadoop Distributed File System)HBase
KSU. CCS
![Page 3: Hadoop 簡介 教師 許智威](https://reader031.fdocuments.net/reader031/viewer/2022012318/55c3f2dcbb61eb89068b45eb/html5/thumbnails/3.jpg)
3
Hadoop 的架構HDFS (Hadoop Distributed File System)HBase
KSU. CCS
What is Hadoop ?
![Page 4: Hadoop 簡介 教師 許智威](https://reader031.fdocuments.net/reader031/viewer/2022012318/55c3f2dcbb61eb89068b45eb/html5/thumbnails/4.jpg)
4
What is Hadoop?
Hadoop is一個 Apache 專案分散式計算的平台提供使用者簡易撰寫並
執行處理海量資料應用程式的軟體平台。Hadoop Distributed File System (HDFS)
MapReduce Hbase
A Cluster of Machines
Cloud Applications
KSU. CCS
![Page 5: Hadoop 簡介 教師 許智威](https://reader031.fdocuments.net/reader031/viewer/2022012318/55c3f2dcbb61eb89068b45eb/html5/thumbnails/5.jpg)
5
Hadoop 起源 (2002~2004)創辦人- Doug-Cutting
Lucene用 Java 設計的高效能文件索引引擎 API索引文件中的每一字,讓搜尋的效率比傳統逐字比較還
要高的多Nutch
Nutch 是基於開放原始碼所開發的網站搜尋引擎利用 Lucene 函式庫開發
![Page 6: Hadoop 簡介 教師 許智威](https://reader031.fdocuments.net/reader031/viewer/2022012318/55c3f2dcbb61eb89068b45eb/html5/thumbnails/6.jpg)
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”
![Page 7: Hadoop 簡介 教師 許智威](https://reader031.fdocuments.net/reader031/viewer/2022012318/55c3f2dcbb61eb89068b45eb/html5/thumbnails/7.jpg)
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)
![Page 8: Hadoop 簡介 教師 許智威](https://reader031.fdocuments.net/reader031/viewer/2022012318/55c3f2dcbb61eb89068b45eb/html5/thumbnails/8.jpg)
8
Hadoop 的特色海量 Vast Amounts of Data
擁有儲存與處理大量資料的能力巨量 Big of Data
擁有儲存與處理大量資料的能力經濟 Cost Efficiency
可以用在由一般 PC 所架設的叢集環境內效率 Parallel Performance
透過分散式檔案系統的幫助,以得到快速的回應可靠 Robustness
當某節點發生錯誤,能即時自動取得備份資料及佈署運算資源
![Page 9: Hadoop 簡介 教師 許智威](https://reader031.fdocuments.net/reader031/viewer/2022012318/55c3f2dcbb61eb89068b45eb/html5/thumbnails/9.jpg)
9
Google vs. Hadoop開發團隊 Google Apache
贊助者 Google Yahoo, Amazon
資源 open document open source
程式撰寫模式 MapReduce Hadoop MapReduce
檔案系統 GFS HDFS
資料庫系統 Bigtable Hbase
搜尋引擎 Google Nutch
作業系統 Linux Linux / GPL
![Page 10: Hadoop 簡介 教師 許智威](https://reader031.fdocuments.net/reader031/viewer/2022012318/55c3f2dcbb61eb89068b45eb/html5/thumbnails/10.jpg)
10
什麼是 HadoopHadoop的架構HDFS (Hadoop Distributed File System)HBase
![Page 11: Hadoop 簡介 教師 許智威](https://reader031.fdocuments.net/reader031/viewer/2022012318/55c3f2dcbb61eb89068b45eb/html5/thumbnails/11.jpg)
11
Hadoop 的架構 (1/3)
Hadoop CoreHDFS
MapReduce
HBase
Pig Chukwa HiveAv
roZo
oKee
per
Hadoop 專案包含一些相關子專案
![Page 12: Hadoop 簡介 教師 許智威](https://reader031.fdocuments.net/reader031/viewer/2022012318/55c3f2dcbb61eb89068b45eb/html5/thumbnails/12.jpg)
12
Hadoop 的架構 (2/3)
Core : 核心部分包含一些分散式檔案系統及一般輸出入的重要元件
跟介面。Avro :
一個有效率,跨越各種語言的 RPC 的資料序列化系統。MapReduce :
一個分散式資料處理模式及執行環境。HDFS :
一個分散式檔案系統。Pig :
處理大量資料集的資料流語言與執行環境。
![Page 13: Hadoop 簡介 教師 許智威](https://reader031.fdocuments.net/reader031/viewer/2022012318/55c3f2dcbb61eb89068b45eb/html5/thumbnails/13.jpg)
13
Hadoop 的架構 (3/3)
HBase : 一個分散式以列 (row) 為導向的資料庫系統。
ZooKeeper : 一個分散式協同服務,可以提供分散式應用程式的原始指令。
Hive : 一個分散式資料倉儲系統,管理 HDFS 上所儲存的資料並提供
SQL 為基礎的詢問語言。Chukwa :
一個分散式資料收集及分析系統。
![Page 14: Hadoop 簡介 教師 許智威](https://reader031.fdocuments.net/reader031/viewer/2022012318/55c3f2dcbb61eb89068b45eb/html5/thumbnails/14.jpg)
14
什麼是 HadoopHadoop 的架構HDFS (Hadoop Distributed File System)HBase
![Page 15: Hadoop 簡介 教師 許智威](https://reader031.fdocuments.net/reader031/viewer/2022012318/55c3f2dcbb61eb89068b45eb/html5/thumbnails/15.jpg)
15
什麼是 HDFS?Hadoop Distributed File
System實現類似 Google File System
分散式檔案系統一個易於擴充的分散式檔案
系統,目的為對大量資料進行分析
運作於廉價的普通硬體上,又可以提供容錯功能
給大量的用戶提供總體性能較高的服務
Hadoop Distributed File System (HDFS)
MapReduce Hbase
A Cluster of Machines
Cloud Applications
![Page 16: Hadoop 簡介 教師 許智威](https://reader031.fdocuments.net/reader031/viewer/2022012318/55c3f2dcbb61eb89068b45eb/html5/thumbnails/16.jpg)
16
HDFS 的特色 (1/2)
硬體容錯能力 Fault Tolerance硬體錯誤是正常而非異常自動恢復或故障排除
串流式的資料存取 Streaming data access批次處理多於用戶交互處理高 Throughput 而非低 Latency
大規模資料集 Large data sets and files支援 Petabytes等級的磁碟空間
一致性模型 Coherency Model一次寫入,多次存取簡化一致性處理問題
![Page 17: Hadoop 簡介 教師 許智威](https://reader031.fdocuments.net/reader031/viewer/2022012318/55c3f2dcbb61eb89068b45eb/html5/thumbnails/17.jpg)
17
HDFS 的特色 (2/2)
在地運算 Data Locality到資料的節點上計算 > 將資料從遠端複製過來計算
異質平台移植性 Heterogeneous即使硬體不同也可移植、擴充
![Page 18: Hadoop 簡介 教師 許智威](https://reader031.fdocuments.net/reader031/viewer/2022012318/55c3f2dcbb61eb89068b45eb/html5/thumbnails/18.jpg)
18
HDFS 架構的兩種關鍵角色名稱節點 NameNode
整個 HDFS只有一個名稱節點負責管理檔案系統的命名空間 (namespace)記錄所有檔案及目錄的 metadata各項檔案屬性權限等資訊的管理及儲存記錄檔案的各個 Blocks置放於哪些資料節點
資料節點 DataNode可以多個資料節點處理使用者存取 Block 的請求,並定時地回報 Block狀態給名稱節點
![Page 19: Hadoop 簡介 教師 許智威](https://reader031.fdocuments.net/reader031/viewer/2022012318/55c3f2dcbb61eb89068b45eb/html5/thumbnails/19.jpg)
19
HDFS 的架構
名稱節點 第二組名稱節點
資料節點
![Page 20: Hadoop 簡介 教師 許智威](https://reader031.fdocuments.net/reader031/viewer/2022012318/55c3f2dcbb61eb89068b45eb/html5/thumbnails/20.jpg)
20
HDFS 存取流程
Client 名稱節點 第二組名稱節點
(1)檔案名稱
(2)檔案 metadata
(3)存取資料
資料節點
![Page 21: Hadoop 簡介 教師 許智威](https://reader031.fdocuments.net/reader031/viewer/2022012318/55c3f2dcbb61eb89068b45eb/html5/thumbnails/21.jpg)
21
HDFS 檔案讀取
DateNode DateNode
2: get block location
NameNode
client Node
DateNode
5: read()4: read()
DistributedFileSystem
HDFSClient
1: open()
3: read() 6: close()FSData
InputStreamclient JVM
![Page 22: Hadoop 簡介 教師 許智威](https://reader031.fdocuments.net/reader031/viewer/2022012318/55c3f2dcbb61eb89068b45eb/html5/thumbnails/22.jpg)
22
HDFS 檔案寫入
DateNode DateNode4 4
5 5
2: create file
NameNode
7: complete
client Node
DateNode
5: ack packet4: write packet
DistributedFileSystem
HDFSClient
1: create()
3: write()6: close()
FSData InputStream
client JVM
![Page 23: Hadoop 簡介 教師 許智威](https://reader031.fdocuments.net/reader031/viewer/2022012318/55c3f2dcbb61eb89068b45eb/html5/thumbnails/23.jpg)
23
什麼是 HadoopHadoop 的架構HDFS (Hadoop Distributed File System)HBase
![Page 24: Hadoop 簡介 教師 許智威](https://reader031.fdocuments.net/reader031/viewer/2022012318/55c3f2dcbb61eb89068b45eb/html5/thumbnails/24.jpg)
24
什麼是 HBase?HBase 是一種分散式欄導向
(column-oriented) 資料庫可擴展的資料儲存在 2008 年 Hadoop成為
Apache 的專案時, HBase 也成為其子專案之一。 Hadoop Distributed File System
(HDFS)
MapReduce Hbase
A Cluster of Machines
Cloud Applications
![Page 25: Hadoop 簡介 教師 許智威](https://reader031.fdocuments.net/reader031/viewer/2022012318/55c3f2dcbb61eb89068b45eb/html5/thumbnails/25.jpg)
25
Hbase 的好處分散式儲存表格式的數據結構高可擴展性高可用性高效效
![Page 26: Hadoop 簡介 教師 許智威](https://reader031.fdocuments.net/reader031/viewer/2022012318/55c3f2dcbb61eb89068b45eb/html5/thumbnails/26.jpg)
26
許多公司都在使用 HBaseAdobe
內部使用 (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
![Page 27: Hadoop 簡介 教師 許智威](https://reader031.fdocuments.net/reader031/viewer/2022012318/55c3f2dcbb61eb89068b45eb/html5/thumbnails/27.jpg)
27
HBase 的關鍵角色 (1/2)
HMaster負責監控 HRegionserver slaves維持 HRegionserver slaves 之間的負載平衡當 HRegionServer 失敗時,轉移該 Hregionserver 上的資
料到其它 HRegionServer 。HRegionserver slaves
接受 Client 端發送的請求 ( 寫 /讀 /瀏覽 )負責回報 HRegions 狀態給 HMaster每個 HRegionServer 會被分配到多個 ( 也可能沒有 )
HRegions
![Page 28: Hadoop 簡介 教師 許智威](https://reader031.fdocuments.net/reader031/viewer/2022012318/55c3f2dcbb61eb89068b45eb/html5/thumbnails/28.jpg)
28
HBase 的關鍵角色 (2/2)
ZooKeeper是一個集中式的服務機制存放 HBase 的綱要 ( 包含有哪些表格及 column
families)、所有 HRegion 的位置及監控 HRegionServer 的狀態等
提供維護資源配置資訊、命名、分散式同步機制及群組服務等功能
可為 HBase 提供穩定服務及故障轉移 (failover) 的機制
![Page 29: Hadoop 簡介 教師 許智威](https://reader031.fdocuments.net/reader031/viewer/2022012318/55c3f2dcbb61eb89068b45eb/html5/thumbnails/29.jpg)
29
HBase 的架構
![Page 30: Hadoop 簡介 教師 許智威](https://reader031.fdocuments.net/reader031/viewer/2022012318/55c3f2dcbb61eb89068b45eb/html5/thumbnails/30.jpg)
30
Hbase 的 Data Model
![Page 31: Hadoop 簡介 教師 許智威](https://reader031.fdocuments.net/reader031/viewer/2022012318/55c3f2dcbb61eb89068b45eb/html5/thumbnails/31.jpg)
31
Example
Conceptual View
Physical Storage View
![Page 32: Hadoop 簡介 教師 許智威](https://reader031.fdocuments.net/reader031/viewer/2022012318/55c3f2dcbb61eb89068b45eb/html5/thumbnails/32.jpg)
32
Hbase 運作流程
-ROOT-
ZooKeeper
.META.
表格 0
Region
Region
表格 1
Region
Region
表格 n
Region
Region
Region
Region
Region
Region
Region
…找出 -ROOT-位置
找出 .META.Region位置
找出表格Region位置
……
……