架構師訓練營 week12 總結
12.1 大数据原理概述
文件系統: GFS
計算框架: MapReduce
資料庫: NoSQL - BigTable
Hive: 將 SQL 語句轉為 MapReduce 的程式,大大降低使用的門檻
Yarn: 資源調度系統
Spark: 性能更好,逐步取代 MapReduce

12.2 分布式文件系统 HDFS

HDFS 設計目標
超大文件
流式數據訪問
一次寫入多次存取
節點失效是常態
failover
auto recover
不適用的場景
低延遲數據訪問
大量小文件
多用戶隨機寫入修改文件
Divide and Conquer



Namenode:
中心服務器,負責管理文件系統的 namespace 以及客戶端的訪問
namenode 決定東西存在哪個 datanode
週期性的接收 datanode 的狀態報告
Datanode:
負責處理文件內容的讀寫申請
包含兩個文件
數據本身
meta-data, 數據塊長度,效驗,時間戳
HDFS 關鍵運行機制
數據複製
故障檢測
數據節點
心跳包
塊報告
數據完整性檢測
名字節點
日誌文件、鏡像文件
空間回收機制





12.3 大数据计算框架 MapReduce - 编程模型
MapReduce
目的
處理海量數據
上百上千 CPU 併行處理
特性
自動實現分佈式併行計算
容錯
提供狀態監控工具
模型抽象簡潔
移動計算比移動數據更划算






JobTracker 內部實現
作業控制
抽象成三層: 監控層(JIP)、控制層(TIP)、執行層
任務可能會被多次執行,TA (Task Attempt)
TA 成功,TIP 會標註成功,所有 TIP 成功,JIP 成功
資源管理
根據 TaskTracker 狀態進行分配
12.5 大数据集群资源管理系统 Yarn
Yarn: Yet Another Resource Negotiator
resource manager - 負責集群的資源調度管理
調度器
應用程序管理器
node manager - 負責具體服務器上的資源和任務管理


12.6 大数据仓库 Hive




评论