慕課網10小時大資料入門筆記
目錄
一、hadoop
The Apache™ Hadoop® project develops open-source software for reliable, scalable, distributed computing.
The project includes these modules:
- Hadoop Common: The common utilities that support the other Hadoop modules.
- Hadoop Distributed File System (HDFS™): A distributed file system that provides high-throughput access to application data.
- Hadoop YARN: A framework for job scheduling and cluster resource management.
- Hadoop MapReduce: A YARN-based system for parallel processing of large data sets.
二、HDFS
- 擴充套件性&容錯性&海量資料儲存
- 將檔案切分成指定大小的資料塊,並以多副本的儲存在多個機器上
- 資料切分、多副本、容錯等操作對使用者是透明的
先對某個檔案進行拆分,每個塊128M
2.1 什麼是HDFS
- Hadoop實現了一個分散式檔案系統(Hadoop Distributed File System),簡稱HDFS
- 源自於Google的GFS論文
2.2 設計目標
- 非常巨大的分散式檔案系統
- 執行在廉價的硬體上
- 易擴充套件、為使用者提供效能不錯的檔案儲存服務
2.3 HDFS架構
- 1個Master(NameNode /NN) 帶 N個Slaves(DataNode/DN)
1個檔案會被拆分成多個Block
blocksize:128M(CDH預設)
130M ==》2個block :128M和2M
2.3.1NN:
- 負責客戶端請求的響應
- 負責後設資料(檔案的名稱、副本系數、block存放的DN)的管理
2.3.2DN:
- 儲存使用者檔案對應的資料塊(Block)
- 要定期向NN傳送心跳資訊,彙報本身及其所有的block資訊,健康情況
A typical deployment has a dedicated machine that runs only the NameNode software. Each of the other machines in the cluster runs one instance of the DataNode software.
NN+多個DN
建議NN和DN部署在不同的節點上
三、YARN
- YARN(Yet Another Resource Negotiator)
- 負責整個叢集的資源的管理和排程
- 擴充套件性&容錯性&多框架資源統一排程
3.1Yarn產生背景
MapReduce1.X(單點故障,節點壓力大不易擴充套件)
JobTracker:
負責資源管理和作業排程
TaskTracker:
定期向JT彙報本節點的健康狀況、資源使用情況、作業執行情況
接收來自JT的命令:啟動任務/殺死任務
資源利用率&運維成本
3.2 yarn產生
yarn:不同計算框架可以共享同一個HDFS叢集上的資料,享受整體的資源排程
XXX on YARN 的好處:與其他計算框架共享叢集資源,按資源需要分配,進而提高叢集資源的利用率
XXX:Spark/MapReduce/Storm/Flink
3.3 Yarn的架構:
http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/YARN.html
1)ResourceManager (RM)
整個叢集同一時間提供服務的1RM只有一個,負責叢集資源的統一管理和排程
處理客戶端的請求:提交一個作業,殺死一個作業
監控我們的NM,一旦某個NM掛了,那麼該NM上執行的任務需要告訴我們的AM來如何處理(如重啟)
2) NodeManager (NM)
整個叢集中有多個,負責自己本身節點資源管理和使用
定時向RM彙報本節點的資源使用情況
接收並處理來自RM的各種命令:啟動Container
處理來自AM的命令
單個節點的資源管理
3) ApplicationMaster (AM)
每個應用程式對應一個:MR、Spark、負責應用程式的管理
為應用程式向RM申請資源(core、memory),分配給內部task
需要與NM通訊:啟動/
停止task,task試執行在container裡面,AM也是執行在container裡面
4) Container
封裝了CPU、Memory等資源的一個容器
是一個任務執行環境的抽象
5) Client
提交作業
檢視作業的執行進度
殺死作業
四、MapReduce
擴充套件性&容錯性&海量資料離線處理(延時比較大)
4.1MapReduce概述
4.2MapReduce程式設計模型
MapReduce架構
MapReduce程式設計
combiner不適用於平均數
五、hadoop優勢
1、高可靠性
資料儲存:資料塊多副本
資料計算:重新排程作業計算
2、高擴充套件性
儲存計算資源不夠時,可以橫向的線性擴充套件機器
一個叢集中可以包含數以千計的節點
3、其他
儲存在廉價機器上降低成本
成熟的生態圈
狹義的Hadoop
是一個適合大資料分散式儲存(HDFS),分散式計算(MapReduce),資源排程(YARN)的平臺
廣義的hadoop
指的是Hadoop生態系統,Hadoop生態系統是一個很龐大的概念,hadoop是其中最重要的一個部分;生態系統中的
每一個子系統只解決某一個特定的問題域,不搞統一型的一個全能系統,而是小而精的多個小系統
六、Zookeeper
分散式的協調服務
七、Flume
八、sqoop
九、離線資料處理流程
相關文章
- 慕課網大資料開發工程師課程大資料工程師
- 慕課網Python入門練習題---Python
- 慕課 玩轉資料結構 從入門到進階 (草稿)資料結構
- 前端效能優化(慕課網筆記)-4-資源的優化前端優化筆記
- 慕課網的中國式線上“慕課”模式模式
- 慕課網玩轉資料結構課程之陣列資料結構陣列
- Android仿微信介面--使用Fragment實現(慕課網筆記)AndroidFragment筆記
- 慕課網-LinuxC語言結構體-學習筆記LinuxC語言結構體筆記
- 慕課網《Netty入門之WebSocket初體驗》學習總結NettyWeb
- 大資料3.2 -- 實時筆記大資料筆記
- 慕課網《前端JavaScript面試技巧》學習筆記(2)-原型和原型鏈前端JavaScript面試筆記原型
- “種草”10門網課,最佳資料科學線上課程!資料科學
- 微信小程式入門學習筆記微信小程式筆記
- 慕課網招聘golang講師Golang
- nodejs + cheerio + Promise(bluebird庫實現)抓取慕課網nodejs課程資料NodeJSPromise
- 大資料入門大資料
- Mysql基準測試詳細解說(根據慕課網:《打造扛得住Mysql資料庫架構》視訊課程實時筆錄)MySql資料庫架構
- vue 基礎入門筆記 10Vue筆記
- 10.Spring入門筆記Spring筆記
- 阿里雲大資料認證——MOOC網站日誌分析-課堂筆記阿里大資料網站筆記
- 慕課全套資料,需要的同學自己拿
- 雲端計算大資料學習路線課程大綱資料:hive入門操作大資料Hive
- 大話 資料入門
- 某課網「vue.js 入門基礎」課程札記Vue.js
- 學習筆記|AS入門(七) 資料儲存篇筆記
- 阿里雲大資料認證——使用DataV製作實時銷售資料視覺化大屏-課堂筆記阿里大資料視覺化筆記
- 大資料入門課程:Hadoop和spark的效能比較大資料HadoopSpark
- 慕課平臺
- CSDN“攢課”課題2:Hadoop入門和大資料應用視訊教程Hadoop大資料
- WebView學習的總結————慕課網WebView
- 資料庫課程作業筆記資料庫筆記
- 大資料入門到精通課程學習,大資料學習,你還得知道這些大資料
- 大資料筆記01--大資料概述大資料筆記
- java大資料最全課程學習筆記(5)--MapReduce精通(一)Java大資料筆記
- 大資料入門001大資料
- 入門大資料---大資料調優彙總大資料
- 大資料學習入門看什麼書?大資料新手怎麼入門?大資料
- ClickHouse入門筆記筆記