想學(xué)好大數(shù)據(jù),首先要了解他的基礎(chǔ),所以,我們需要先了解HDFS和Hadoop以及MapReduce。
首先大家思考一個(gè)問題:如何合理的存儲(chǔ)10T的電信通話記錄?
下面給大家展現(xiàn)一個(gè)圖片:
大數(shù)據(jù)之初步了解HDFS、Hadoop和MapReduce
入的知識(shí)點(diǎn):
元數(shù)據(jù):描述數(shù)據(jù)的數(shù)據(jù),主要描述數(shù)據(jù)的屬性的信息,用來指示存儲(chǔ)位置,歷史數(shù)據(jù)文件查找和文件記錄等功能;
NameNode:文件管理
DataNode:真是存儲(chǔ)數(shù)據(jù),數(shù)據(jù)存儲(chǔ)
Client:文件獲取,客戶端實(shí)現(xiàn)讀取,
這里面體現(xiàn)的一個(gè)思想就是分布式存儲(chǔ)。
將數(shù)據(jù)分散存儲(chǔ)在多臺(tái)獨(dú)立的設(shè)備上,傳統(tǒng)的存儲(chǔ)方式存在系統(tǒng)性能的瓶頸,同時(shí)在可靠性和安全性上也存在問題,不能滿足大規(guī)模存儲(chǔ)應(yīng)用的需要。分布式網(wǎng)絡(luò)存儲(chǔ)采用可擴(kuò)展的系統(tǒng)結(jié)構(gòu),利用多臺(tái)存儲(chǔ)服務(wù)器分擔(dān)存儲(chǔ)負(fù)荷,利用位置服務(wù)器定位存儲(chǔ)信息,他不但提高了系統(tǒng)的可靠性,可用性和存取效率,還易于擴(kuò)展。
分布式計(jì)算(100G數(shù)據(jù),統(tǒng)計(jì)單詞)
計(jì)算向數(shù)據(jù)移動(dòng),
大數(shù)據(jù)之初步了解HDFS、Hadoop和MapReduce
HDFS:Hadoop分布式文件系統(tǒng)(冗余備份)
Map/Reduce:是一個(gè)使用簡易的軟件框架,基于他的應(yīng)用程序能夠運(yùn)行在上千個(gè)商用機(jī)器組成的大型集群上,...;
核心思想:分而治之;map(任務(wù)分解),reduce(結(jié)果的匯總)
Hadoop的兩大核心:HDFS和MapReduce
Hive:數(shù)據(jù)倉庫,面向分析處理OLAP(聯(lián)機(jī)分析處理)
RDMS:傳統(tǒng)的關(guān)系型數(shù)據(jù)庫,面向業(yè)務(wù)處理PLTP(聯(lián)機(jī)事務(wù)處理)
HBase:非關(guān)系型數(shù)據(jù)庫,主要存儲(chǔ)非結(jié)構(gòu)化數(shù)據(jù),面向列處理方式;
Flume:大數(shù)據(jù)的數(shù)據(jù)采集工具
Sqoop:數(shù)據(jù)轉(zhuǎn)移工具(將關(guān)系型數(shù)據(jù)庫數(shù)據(jù)轉(zhuǎn)移到HDFS(可逆))
Zookeeper:分布式協(xié)調(diào)系統(tǒng)(目錄樹結(jié)構(gòu)、時(shí)間回調(diào)、客戶端Session)
JobTacker:任務(wù)分解
TaskTracker:執(zhí)行任務(wù)
Block:最小1M,默認(rèn)128M,副本有三個(gè)(是連同原始文件一共三個(gè),沒有等級之分),分配在不同的節(jié)點(diǎn)上,為了可靠性和
完整性,副本數(shù)的數(shù)量不能超過集群節(jié)點(diǎn)的數(shù)量,可調(diào)整大小,但是會(huì)帶來蝴蝶效應(yīng);
心跳機(jī)制:每隔幾秒?yún)R報(bào)一次;
HdfsClient與NameNode交互元數(shù)據(jù)信息
HdfsClient與DataNade交互文件Block數(shù)據(jù)
大數(shù)據(jù)之初步了解HDFS、Hadoop和MapReduce
NameNode分為兩類:
動(dòng)態(tài)元數(shù)據(jù):Block塊的位置信息(通過DataNode心跳的方式來給NameNode匯報(bào));
靜態(tài)元數(shù)據(jù):文件大小,節(jié)點(diǎn)信息,偏移量,block清單;
Client大致分為兩類:集群外的客戶端和集群內(nèi)的客戶端
Client和NameNode交互的是元數(shù)據(jù)
Client和DataNode交互的Block塊數(shù)據(jù)
交換:運(yùn)行時(shí)內(nèi)存和磁盤的雙向交互叫交換,運(yùn)行時(shí)從磁盤讀取數(shù)據(jù)到內(nèi)存
持久化:單向的,運(yùn)行時(shí)會(huì)往磁盤中寫數(shù)據(jù),當(dāng)出現(xiàn)掛機(jī)或重啟時(shí)從磁盤讀回。
Block塊的位置信息,不會(huì)做持久化;
Edits:存放的是客戶端對元數(shù)據(jù)增刪改查的操作;
Editlog:可以做到掛機(jī)前的最后一筆操作
fsImage:只能做到某一時(shí)點(diǎn)的內(nèi)存狀態(tài);
合并:3600秒,或者64M
SNN合并流程
大數(shù)據(jù)之初步了解HDFS、Hadoop和MapReduce
sencongdary NameNode是減少NameNode的啟動(dòng)時(shí)間,