Hadoop基本概念
Hadoop出現(xiàn)的前提環(huán)境
隨著數(shù)據(jù)量的增大帶來了以下問題:
- 如何存儲大量的數(shù)據(jù)?
- 怎么處理這些數(shù)據(jù)?
- 怎樣高效地分析這些數(shù)據(jù)宰啦?
- 在數(shù)據(jù)量增長的情況下如何構(gòu)建一個解決方案?
在大數(shù)據(jù)領(lǐng)域提出了兩個概念:
- 分布式文件系統(tǒng),用于存儲大量的數(shù)據(jù)
- 分布式計算框架MapReduce正林,高效地分析數(shù)據(jù)
以上兩個概念組成了一個名詞叫Hadoop
Hadoop的起源
谷歌發(fā)布了三篇論文:GFS分布式存儲系統(tǒng)、MapReduce分布式計算框架慰丛、BigTable卓囚。
Hadoop | |
---|---|
HDFS | GFS |
MapReduce | MapReduce |
Hbase | BigTable |
Hadoop與其他分布式系統(tǒng)比較
- Hadoop集群的數(shù)據(jù)首先先金星分布式的存儲
- Hadoop集群上通過HDFS分布式文件系統(tǒng),會把存儲的數(shù)據(jù)復(fù)制多分诅病,保證了數(shù)據(jù)的安全性
- 提供了一個簡單的醫(yī)用的分布式計算框架
- Hadoop擴展容易
Hadoop版本
Hadoop1x版本中核心是組建就是HDFS和MapReduce哪亿;
Hadoop2x版本中核心中增加了YARN;
YARN介紹
- 云操作系統(tǒng)贤笆,理解為資源管理器蝇棉,管理集群中的資源(在增加了YARN操作系統(tǒng)之后,MapReduce任務(wù)就是可以跑在YARN平臺上芥永,通過YARN平臺進行MapReduce任務(wù)的管理篡殷,資源的分配);
- 也可以通過YARN平臺運行Spark任務(wù)埋涧,包括Spark可以讀取HDFS上的數(shù)據(jù)文件板辽;
Hadoop生態(tài)圈介紹
數(shù)據(jù)的來源,在企業(yè)中一般數(shù)據(jù)的來源分為兩種棘催,第一種是企業(yè)內(nèi)部的數(shù)據(jù)劲弦,
例如:業(yè)務(wù)數(shù)據(jù)(保存在關(guān)系型數(shù)據(jù)庫中),應(yīng)用的服務(wù)器日志(日志文件)醇坝。(機構(gòu)化數(shù)據(jù))
第二種外部渠道獲得邑跪,例如:用戶的行為記錄(推薦系統(tǒng)實現(xiàn)),通過搜索的關(guān)鍵字呼猪、消費記錄画畅、爬蟲技術(shù)等(非結(jié)構(gòu)化數(shù)據(jù))。
hive(數(shù)據(jù)要進行清洗獲取需要的數(shù)據(jù))
sqoop(數(shù)據(jù)導(dǎo)入導(dǎo)出到傳統(tǒng)數(shù)據(jù)庫中)
flume(日志收集工具)
hbase(數(shù)據(jù)庫存儲)
hdfs
MapReduce
zookeeper
HDFS架構(gòu)
分布式存儲系統(tǒng)宋距,分布式的架構(gòu)上存在主/從的架構(gòu)關(guān)系轴踱,在HDFS文件系統(tǒng)存在主節(jié)點和從節(jié)點。
主節(jié)點:namenode負責(zé)管理HDFS集群文件中的元數(shù)據(jù)(文件名乡革、文件位置寇僧、文件副本)
-
從節(jié)點:datanode負責(zé)存儲真正的數(shù)據(jù)
在HDFS中數(shù)據(jù)的存儲是以塊(block)的方式進行存儲摊腋,默認塊的大小為128MB。
YARN架構(gòu)
分布式架構(gòu)嘁傀,分為主從架構(gòu)兴蒸;
- 主節(jié)點 ResourceManager,負責(zé)管理集群中的所有資源(cpu细办、內(nèi)存橙凳、磁盤、網(wǎng)絡(luò)IO)笑撞。
- 從節(jié)點 NodeManager岛啸,負責(zé)管理集群中每一臺服務(wù)器的資源。
MapReduce架構(gòu)
核心思想茴肥,分而治之
- Map端和Reduce端進行數(shù)據(jù)分析
- 數(shù)據(jù)在Map階段進行分開處理坚踩,處理完成之后,再交給Reduce進行統(tǒng)計瓤狐,在Map和Reduce中間的階段通過shuffle來進行連接