39
WE SEE, WE REFORM. 炬識科技股份有限公司 APACHE HADOOP AND CDH基本介紹 Anna Yen 2016 Oct

Apache hadoop and cdh(cloudera distribution) introduction 基本介紹

Embed Size (px)

Citation preview

Page 1: Apache hadoop and cdh(cloudera distribution) introduction 基本介紹

WE SEE,

WE REFORM.�

炬識科技股份有限公司�

APACHE HADOOP AND CDH基本介紹�

Anna Yen�2016 Oct�

Page 2: Apache hadoop and cdh(cloudera distribution) introduction 基本介紹

Hadoop是一個生態系統,不是單一系統。甚至可能演化成數個生態系統…�

Hadoop�2

Copyright © 2016 Athemaster All rights reserved

Page 3: Apache hadoop and cdh(cloudera distribution) introduction 基本介紹

Google的痛點�

1.  大量網頁的儲存 2.  搜尋演算法 3.  排名計算問題�

Copyright © 2016 Athemaster All rights reserved

3

Google的低成本策略 不使用超級電腦,使用大量的普通伺服器。

全球排名第二的超級電腦 美國橡樹嶺國家實驗室的 Titan是一個 Cray XK7 系統,是NVIDIA 圖形處理器和傳統的 16 核 AMD Opterons 處理器的集合體,總共帶有 560,640 個計算核心,整個超級計算系統可達每秒17.6 千兆次的浮點運算速度。�

Page 4: Apache hadoop and cdh(cloudera distribution) introduction 基本介紹

Hadoop的演進�

¨  2003年 - Google發表雲端運算論文 (GFS/Bigtable/MapReduce)

¨  2004年 - Doug Cutting 開放原始碼實作NDFS

¨  2004年 - Google發佈MapReduce的架構�¨  2005年

¤  Doug Cutting實作MapReduce ¤  Nutch專案進入Apache基金會

¨  2006年 - Doug Cutting將Nutch改名為Hadoop,加入Yahoo團隊�¨  2006年 - MapReduce和NDFS分別被納入Hadoop專案�¨  2008年 - Yahoo宣布達成 10000-core Hadoop cluster

¨  2009年 ¤  Yahoo破了世界紀錄1T的資料分析(62秒),打敗Google的68秒。

¤  Doug Cutting加入Cloudera

Copyright © 2016 Athemaster All rights reserved

4

資料來源:http://kevin731008.blogspot.tw/2013/01/hadoop-map-reduce-pc-doug-cutting.html

Page 5: Apache hadoop and cdh(cloudera distribution) introduction 基本介紹

Hadoop最初的核心與元件�

HDFS�

Map-Reduce�

Hbase�

Copyright © 2016 Athemaster All rights reserved

5

Page 6: Apache hadoop and cdh(cloudera distribution) introduction 基本介紹

ASF:開源軟體的殿堂�

Copyright © 2016 Athemaster All rights reserved

6

以Apache HTTP伺服器為中心發展的各種專案 https://zh.m.wikipedia.org/zh-tw/Apache%E8%BD%AF%E4%BB%B6%E5%9F%BA%E9%87%91%E4%BC%9A

Page 7: Apache hadoop and cdh(cloudera distribution) introduction 基本介紹

Hadoop in 2013�

Copyright © 2016 Athemaster All rights reserved

7

Page 8: Apache hadoop and cdh(cloudera distribution) introduction 基本介紹

Hadoop in 2015�

Copyright © 2016 Athemaster All rights reserved

8

Page 9: Apache hadoop and cdh(cloudera distribution) introduction 基本介紹

Hadoop = 大數據?�

Copyright © 2016 Athemaster All rights reserved

9

ì  Hadoop是一個Apache的專案(集)�ì  Hadoop是一個分散式儲存平行運算平台�ì  可處理PB級大量數據�ì  主要核心模組:�

ì  HDFS(Hadoop Distributed File System)(分散式存儲檔案系統)�

ì  Hbase(NoSQL資料庫)�ì  MapReduce(平行運算核心)�

Page 10: Apache hadoop and cdh(cloudera distribution) introduction 基本介紹

Hadoop三大商用品牌�

11/30/16 Copyright © 2016 Athemaster All rights reserved

10

以Apache Hadoop為核心,附加自有的叢集管理與叢集安全原件。是部分軟體授權與部分技術支援服務的複合型產品。 80%原生Apache Hadoop

強調完全開源的技術支援服務為主的產品。 100%原生Apache Hadoop�

強調資料安全的閉鎖型產品,以軟體授權為主。 已經不是原生Apache Hadoop。�

Page 11: Apache hadoop and cdh(cloudera distribution) introduction 基本介紹

Cloudera Distribution Including Apache Hadoop�

CDH�11

Copyright © 2016 Athemaster All rights reserved

Page 12: Apache hadoop and cdh(cloudera distribution) introduction 基本介紹

12

Cloudera的主導地位2008 CLOUDERA FOUNDED BY MIKE OLSON AMR AWADALLAH & JEFF HAMMERBACHER

2009 HADOOP

CREATOR DOUG CUTTING JOINS

CLOUDERA

2009 CLOUDERA RELEASES CDH THE FIRST COMMERCIAL APACHE HADOOP DISTRIBUTION

2010 CLOUDERA MANAGER:

FIRST MANAGEMENT

APPLICATION FOR HADOOP

2011 CLOUDERA REACHES 100 PRODUCTION CUSTOMERS

2011 CLOUDERA UNIVERSITY

EXPANDS TO 140 COUNTRIES

2012 CLOUDERA ENTERPRISE 4 THE STANDARD FOR HADOOP IN THE ENTERPRISE

2012 CLOUDERA CONNECT

REACHES 300 PARTNERS

2014 THE ENTERPRISE DATA HUB LAUNCHED

2013 CLOUDERA IMPALA CLOUDERA NAVIGATOR CLOUDERA SEARCH

2013 TOM REILLY JOINS AS

CEO

OVER 800 PARTNERS IN CLOUDERA

CONNECT

CDH Cloudera Manager

CLOUDERA ENTERPRISE

4

ASK BIGGER QUESTIONS

ENTERPRISE DATA HUB

Copyright © 2016 Athemaster All rights reserved

Page 13: Apache hadoop and cdh(cloudera distribution) introduction 基本介紹

Hadoop生態系統�13

11/30/16 Copyright © 2016 Athemaster

Page 14: Apache hadoop and cdh(cloudera distribution) introduction 基本介紹

CDH生態系統�14

Copyright © 2016 Athemaster 11/30/16

Page 15: Apache hadoop and cdh(cloudera distribution) introduction 基本介紹

Cloudera 合作夥伴⽣態系15

11/30/16 Copyright © 2016 Athemaster

Page 16: Apache hadoop and cdh(cloudera distribution) introduction 基本介紹

Enterprise DATA HUB�

Enterprise Data Lake�

Copyright © 2016 Athemaster All rights reserved

16

Data System 數據系統�

Data Source 來源數據�

RDBMS�

OLTP�

OLAP�

Sentiment�

Stream�

Geo�

Sensor�

Data Access 數據存取

商業分析�

客製化應用系統�

套裝應用系統�

Process 數據處理

Ingest攝取 -Scoop- -Flume- -Kafka-

Transform

轉換 -MapReduce-

-Hive- -Pig-

-Spark- �

Discover 數據挖掘

Analytic

Database -Impala-

Search -Solr-�

Model 數據模型

[SAS]

[R] -Spark-

-Mahout-

Serve 數據服務

NoSQL DB

-HBase-

Streaming -Spark

Streaming-�

Security and Administration�

Unlimited Storage -HDFS, Hbase, Kudu-�

ETL� ETL�

Page 17: Apache hadoop and cdh(cloudera distribution) introduction 基本介紹

Hadoop Cluster�

¨  一組執行HDFS以及MapReduce的機器,我們稱為Hadoop叢集(Cluster),一個叢集由多個主機(Host)組成。

¨  因分散(佈)式儲存的特性,原生資料保全機制。

¨  平行運算的特性可處理PB等級的資料規模。

¨  原則上主機越多效能越佳。

¨  主機的基本組合 ¤  Master Host x 2

¤  Worker Host x 3 (Replica=3) ¤  Utility Host x 1 (Optional)

¤  Edge Host x 1 (Optional)�

Copyright © 2016 Athemaster

17

11/30/16

Page 18: Apache hadoop and cdh(cloudera distribution) introduction 基本介紹

Master Hosts�

¨  主要任務為執行Hadoop核心程序 ¨  一個叢集配置數量為2~3個(1個即可運作) ¨  基本角色分配(服務配置)

18

11/30/16 Copyright © 2016 Athemaster

Master Host 1: NameNode JournalNode FailoverController YARN ResourceManager ZooKeeper JobHistory Server

Master Host 2: NameNode JournalNode FailoverController YARN ResourceManager ZooKeeper Impala StateStore

Page 19: Apache hadoop and cdh(cloudera distribution) introduction 基本介紹

Worker Hosts�

¨  主要任務執行DataNodes服務與其他分布式程序,例如Impala

¨  基本角色分配(服務配置) ¤ DataNode ¤ NodeManager ¤  Impala�

19

11/30/16 Copyright © 2016 Athemaster

Page 20: Apache hadoop and cdh(cloudera distribution) introduction 基本介紹

Utility and Edge Hosts�

¨  可以合併在一台主機上。 ¨  亦可視叢集大小,分離

Utility Host與Edge Host。 ¨  Utility Host仍以執行

Hadoop叢集程序為主。Edge Host則通常是客戶端使用者的存取點,如果有非Hadoop的應用程序也通常設置在此主機上。�

20

11/30/16 Copyright © 2016 Athemaster

Page 21: Apache hadoop and cdh(cloudera distribution) introduction 基本介紹

HDFS�

¨  HDFS 是 Hadoop Distributed File System 的縮寫

¨  HDFS 能提供巨量的數據存取, 非常適合大規模的數據分析。它預設的Block大小為 64MB,每一個Block在多個 DataNode 都可以有副本, 客戶端通過 NameNode 得到Block的位置。

¨  HDFS與其他分散(佈)式文件系統比較,其適用特性是“一次寫入, 多次讀取” (Write-once-read-many) 資料模型。

21

11/30/16 Copyright © 2016 Athemaster

Page 22: Apache hadoop and cdh(cloudera distribution) introduction 基本介紹

Yarn MapReduce2�

¨  MapReduce是一個用來進行計算的任務指派程序

¨  為了解決效能瓶頸,2012年經過重構�

22

11/30/16 Copyright © 2016 Athemaster

Page 23: Apache hadoop and cdh(cloudera distribution) introduction 基本介紹

Zookeeper�

¨  ZooKeeper 如同其名稱是『動物園管理員』, 是拿來管『大象(Hadoop)』、『蜜蜂(Hive)』等的管理員。所以它是用在叢集環境中,用來同步各計算節點的設定內容(很可惜不是設定檔同步,應該只是一些執行階段的參數)

¨  並且遴選領袖,HBase 拿 ZooKeeper 來隨機遴選 HMaster 該跑在哪一台。ZooKeeper 解決了單點失效的問題。

23

11/30/16 Copyright © 2016 Athemaster

資料來源:台灣 Hadoop 技術討論區(Jazz Wang)

Page 24: Apache hadoop and cdh(cloudera distribution) introduction 基本介紹

Sqoop�

¨  Sqoop = SQL to Hadoop ¨  Sqoop 允許使用者從關聯式資料庫(RDBMS)中

擷取資料到 Hadoop,供後續分析使用。�¨  Sqoop 也能將分析結果匯入資料庫,供其他用

戶端程式使用 ¨  Sqoop必須對應不同的關聯式資料庫(甚至有版

本限制)來選用Connector

24

11/30/16 Copyright © 2016 Athemaster

資料來源:Jazz Wang

Page 25: Apache hadoop and cdh(cloudera distribution) introduction 基本介紹

Flume�

¨  Cloudera所開發的分散式日誌收集系統,2009年被捐贈了Apache軟體基金會

¨  Flume 主要用於非結構化數據的導入,並將這些數量龐大的數據從各種來源集中起來儲存

¨  Flume具有高可用與分散式配置的特性,Facebook拿它來應用在網路節點事件的處理上。�

25

11/30/16 Copyright © 2016 Athemaster

Page 26: Apache hadoop and cdh(cloudera distribution) introduction 基本介紹

Hive�

¨  Jeff Hammerbacher 團隊在臉書(Facebook)打造的資訊平台中,最大構成要素之一

¨  Hive 是建構於 Hadoop 之上的資料倉儲框架(a framework for data warehousing)。

¨  Hive 是寫給具備強大 SQL 技能(卻缺乏 Java 程式設計技能)的分析師們,用來查詢臉書存於 HDFS 的海量資料。

¨  SQL 擁有廣為業界熟知的龐大優勢。是商業智慧(business intelligence)的通用語法(lingua franca,就像 ODBC 是通用橋接器一樣),因此 Hive 能 與這些商品做緊密的整合。

26

11/30/16 Copyright © 2016 Athemaster

資料來源:Jazz Wang

Page 27: Apache hadoop and cdh(cloudera distribution) introduction 基本介紹

Hive vs. RDBMS�27

11/30/16 Copyright © 2016 Athemaster

資料來源:Jazz Wang

Page 28: Apache hadoop and cdh(cloudera distribution) introduction 基本介紹

Impala�

¨  Impala是Cloudera所開發用於Hadoop的SQL Query工具,於2016年捐給Apache軟體基金會。

¨  用途與Hive相近,但是速度快很多,目前可使用的查詢語句跟Hive一樣,CDH 5.8版本又增加了新的功能。�

28

11/30/16 Copyright © 2016 Athemaster

Page 29: Apache hadoop and cdh(cloudera distribution) introduction 基本介紹

Hbase�

¨  HDFS (Hadoop Distributed File System) 內的資料雖然是分散儲存, 卻是以檔案的型式存放,並不支援隨機存取 (Random Reads and Writes) 的功能。

¨  為了更方便存取在 Hadoop 環境下的資料,HBase 應運而生,提供一個類似資料庫的儲存環境, 因為與關聯式資料庫架構上有極大的不同,這類型的資料庫通常稱之為 NoSQL 資料庫。

¨  HBase 的資料是以 Key-Value 的方式存放。

29

11/30/16 Copyright © 2016 Athemaster

資料來源:http://www.haredb.com/HareDB/src_tw/About.aspx?l=4

Page 30: Apache hadoop and cdh(cloudera distribution) introduction 基本介紹

Cloudera Manager�

¨  由Cloudera開發用於部署、維運Hadoop叢集的工具。

¨  實現安裝流程自動化、圖形界面監控儀表板、叢集配置變更集中化以及產出叢集狀態監控報表等等。

¨  大部分功能在免費的社群版本中均可使用,少數功能需要購買軟體授權。�

30

11/30/16 Copyright © 2016 Athemaster

Page 31: Apache hadoop and cdh(cloudera distribution) introduction 基本介紹

Cloudera Navigator�

¨  由Cloudera開發用於監理Hadoop叢集的工具。 ¨  實現Hadoop叢集安全性

¤ 稽核數據存取並提供驗證機制 ¤ 提供稽核記錄

n 經HDFS、Hive、HBase、Cloudera Impala服務存取HDFS上數據的使用記錄�

n HBase 和 Impala 的操作�n Hive的Metadata�n Sentry 存取記錄�

31

11/30/16 Copyright © 2016 Athemaster

Page 32: Apache hadoop and cdh(cloudera distribution) introduction 基本介紹

Cloudera Navigator Auditing Architecture�

32

11/30/16 Copyright © 2016 Athemaster

Page 33: Apache hadoop and cdh(cloudera distribution) introduction 基本介紹

Hue�

¨  Hue 是cdh專門的一套web管理器,它包括3個部分hue ui,hue server,hue db。

¨  Hue提供所有的cdh組件的shell介面的接口。可以在hue編寫MapReduce,查看修改hdfs的文件,管理hive的metadata,運行Sqoop等。�

33

11/30/16 Copyright © 2016 Athemaster

資料來源:https://read01.com/Ax3xR.html

Page 34: Apache hadoop and cdh(cloudera distribution) introduction 基本介紹

Hue Architecture�34

11/30/16 Copyright © 2016 Athemaster

Page 35: Apache hadoop and cdh(cloudera distribution) introduction 基本介紹

Sentry�

¨  原來是Cloudera所開發的Sentry,目的是為了在Hive/Impala之上獨立的一層專門做認證授權的系統。2013年捐給了Apache軟體基金會。

¨  簡言之,Sentry是用來做Authorization,授權使用者對特定數據的存取,可由Server層級細緻到Database與Table。�

35

11/30/16 Copyright © 2016 Athemaster

Page 36: Apache hadoop and cdh(cloudera distribution) introduction 基本介紹

11/30/16�Copyright © 2016 Athemaster 36

Page 37: Apache hadoop and cdh(cloudera distribution) introduction 基本介紹

Apache Spark�

¨  Spark是一個叢集運算框架 ¨  Spark的出現是為了改善MapReduce的效能

問題

¨  Spark的效能是以記憶體使用為基礎�

Copyright © 2016 Athemaster All rights reserved

37

Page 38: Apache hadoop and cdh(cloudera distribution) introduction 基本介紹

Apache Kudu�

Copyright © 2016 Athemaster All rights reserved

38

¨  Cloudera主導的2016年新儲存架構 ¨  提升Data scan與Random access的效能 ¨  支援數據的原地更新,省略數據處理步驟�

Page 39: Apache hadoop and cdh(cloudera distribution) introduction 基本介紹

[email protected]

Contact us�39

Copyright © 2016 Athemaster 11/30/16