大數據(hadoop-生態系統概述以及版本演化)

Hadoop生態系統的特色:

源代碼開源(免費) 
社區活躍、參與者衆多 
涉及分佈式存儲和計算的方方面面 
已獲得企業界驗證算法

Hadoop1.0和2.0:數據庫

Hadoop概述:apache

分佈式存儲系統HDFS(Hadoop Distributed File System) 
       分佈式存儲系統 
       提供了高可靠性、高擴展性和高吞吐率的數據存儲服務 編程

資源管理系統YARN(Yet Another Resource Negotiator) 
      負責集羣資源的統一管理和調度 架構

分佈式計算框架MapReduce 
      分佈式計算框架 
      具備易於編程、高容錯性和高擴展性等優勢 負載均衡

Hadoop2.0層級關係:框架

Hadoop構成 :HDFS 分佈式文件存儲機器學習

源自於Google的GFS論文 
    發表於2003年10月 
    HDFS是GFS克隆版 分佈式

HDFS特色 
    良好的擴展性 
    高容錯性 
    適合PB級以上海量數據的存儲 工具

基本原理 
    將文件切分紅等大的數據塊,存儲到多臺機器上 
    將數據切分、容錯、負載均衡等功能透明化 
    可將HDFS當作一個容量巨大、具備高容錯性的磁盤 

應用場景 
    海量數據的可靠性存儲 
    數據歸檔 

 

Hadoop構成 :YARN(資源管理系統)

YARN是什麼 
    Hadoop 2.0新增系統 
    負責集羣的資源管理和調度 
    使得多種計算框架能夠運行在一個集羣中 
YARN的特色 
    良好的擴展性、高可用性 
    對多種類型的應用程序進行統一管理和調度 
    自帶了多種多用戶調度器,適合共享集羣環境

 

 

 

Hadoop構成 :MapReduce(分佈式計算框架)

源自於Google的MapReduce論文 
    發表於2004年12月 
    Hadoop MapReduce是Google MapReduce克隆版
 MapReduce特色 
    良好的擴展性 
    高容錯性 
    適合PB級以上海量數據的離線處理

Hadoop生態系統介紹:1.0時代

 

Hadoop生態系統介紹:2.0時代

 

Hadoop生態系統:Hive(基於MR的數據倉庫)

由facebook開源,最初用於解決海量結構化的日誌數據統計問題; 
    ETL(Extraction-Transformation-Loading)工具 

構建在Hadoop之上的數據倉庫; 
    數據計算使用MR,數據存儲使用HDFS 

Hive 定義了一種類 SQL 查詢語言——HQL; 
    相似SQL,但不徹底相同 

一般用於進行離線數據處理(採用MapReduce); 
可認爲是一個HQLMR的語言翻譯器。

日誌分析 
    統計網站一個時間段內的pv、uv 

多維度數據分析 
大部分互聯網公司使用Hive進行日誌分析,包括百度、淘寶等

其餘場景 
    海量結構化數據離線分析 
低成本進行數據分析(不直接編寫MR)

Hadoop生態系統:Pig

由yahoo !開源,設計動機是提供一種基於MapReduce的數據分析工具 
構建在Hadoop之上的數據倉庫 
定義了一種數據流語言——Pig Latin
一般用於進行離線分析

Hadoop生態系統:wordcount比較 mapreduce

 

Hadoop生態系統:wordcount比較 hive

Hadoop生態系統:wordcount比較 pig

 

Hadoop生態系統:Mahout(數據挖掘庫)

基於Hadoop的機器學習和數據挖掘的分佈式計算框架
實現了三大類算法 
    推薦(Recommendation) 
    聚類(Clustering) 
    分類(Classification) 

Hadoop生態系統:HBase(分佈式數據庫)

源自Google的Bigtable論文 
    發表於2006年11月 
    HBase是Google Bigtable克隆版 
HBase特色 
    高可靠性 
    高性能 
    面向列 
    良好的擴展性

Hadoop生態系統:HBase數據模型

Table:表 
    相似於傳統傳統數據庫中的表 
Column Family:列簇 
    Table在水平方向有一個或者多個Column Family組成 
    一個Column Family中能夠由任意多個Column組成 
Row Key: 行鍵 
    Table的主鍵 
    Table中的記錄按照Row Key排序 
Timestamp: 時間戳 
    每行數據均對應一個時間戳 
    版本號

 

Hadoop生態系統:HBase架構

 

Hadoop生態系統:Zookeeper(分佈式協做服務)

源自Google的Chubby論文 
    發表於2006年11月 
    Zookeeper是Chubby克隆版納 

解決分佈式環境下數據管理問題 
    統一命名 
    狀態同步 
    集羣管理 
    配置同步 

 

Hadoop生態系統:Zookeeper 角色及應用

HDFS 
YARN 
Storm 
HBase 
Flume 
Dubbo(阿里巴巴) 
Metaq(阿里巴巴)

 

Hadoop生態系統:Sqoop(數據同步工具)
鏈接Hadoop與傳統數據庫之間的橋樑 
    支持多種數據庫,包括MySQL、DB2等 
    插拔式,用戶可根據須要支持新的數據庫
本質上是一個MapReduce程序 
    充分利用了MR分佈式並行的特色 
    充分利用MR容錯性

Hadoop生態系統:Flume(日誌收集工具)

Cloudera開源的日誌收集系統
Flume特色 
    分佈式 
    高可靠性 
    高容錯性 
    易於定製與擴展

 

Hadoop生態系統:Oozie(做業流調度系統)

目前計算框架和做業類型繁多: 
    MapReduce Java、Streaming、HQL、Pig等 
如何對這些框架和做業進行統一管理和調度: 
    不一樣做業之間存在依賴關係(DAG); 
    週期性做業 
    定時執行的做業 
    做業執行狀態監控與報警(發郵件、短信等) 
多種解決方案: 
    Linux Crontab 
    本身設計調度系統(淘寶等公司) 
    直接使用開源系統(Oozie)

Hadoop版本:發行版介紹

Apache Hadoop 
    推薦使用最新的2.x.x版本
    下載地址:http://hadoop.apache.org 
CDH(Cloudera Distributed Hadoop) 
    推薦使用最新的CDH5版本,好比CDH5.0.0 
    下載地址: http://archive.cloudera.com/cdh5/cdh/ 
HDP(Hortonworks Data Platform) 
    推薦使用最新的HDP 2.x版本,好比HDP 2.1版本 
    下載地址:http://zh.hortonworks.com/hdp/downloads/

Hadoop版本:HDP

Hadoop版本:CDH  

 

Hadoop版本:版本選擇

不一樣發行版兼容性      架構、部署和使用方法一致,不一樣之處僅在若干內部實現 建議選擇公司發行版,好比CDH或HDP      更易維護和升級      通過集成測試,不會面臨版本兼容問題 

相關文章
相關標籤/搜索