Hadoop筆記(一)

Hadoop基本概念

Hadoop出現(xiàn)的前提環(huán)境

隨著數(shù)據(jù)量的增大帶來(lái)了以下問(wèn)題:

  1. 如何存儲(chǔ)大量的數(shù)據(jù)?
  2. 怎么處理這些數(shù)據(jù)?
  3. 怎樣高效地分析這些數(shù)據(jù)?
  4. 在數(shù)據(jù)量增長(zhǎng)的情況下如何構(gòu)建一個(gè)解決方案?

在大數(shù)據(jù)領(lǐng)域提出了兩個(gè)概念:

  1. 分布式文件系統(tǒng),用于存儲(chǔ)大量的數(shù)據(jù)
  2. 分布式計(jì)算框架MapReduce,高效地分析數(shù)據(jù)

以上兩個(gè)概念組成了一個(gè)名詞叫Hadoop


Hadoop的起源

谷歌發(fā)布了三篇論文:GFS分布式存儲(chǔ)系統(tǒng)、MapReduce分布式計(jì)算框架、BigTable。

Hadoop Google
HDFS GFS
MapReduce MapReduce
Hbase BigTable

Hadoop與其他分布式系統(tǒng)比較

  1. Hadoop集群的數(shù)據(jù)首先先金星分布式的存儲(chǔ)
  2. Hadoop集群上通過(guò)HDFS分布式文件系統(tǒng),會(huì)把存儲(chǔ)的數(shù)據(jù)復(fù)制多分,保證了數(shù)據(jù)的安全性
  3. 提供了一個(gè)簡(jiǎn)單的醫(yī)用的分布式計(jì)算框架
  4. Hadoop擴(kuò)展容易

Hadoop版本

Hadoop1x版本中核心是組建就是HDFS和MapReduce;

Hadoop2x版本中核心中增加了YARN;


YARN介紹

  1. 云操作系統(tǒng),理解為資源管理器,管理集群中的資源(在增加了YARN操作系統(tǒng)之后,MapReduce任務(wù)就是可以跑在YARN平臺(tái)上,通過(guò)YARN平臺(tái)進(jìn)行MapReduce任務(wù)的管理,資源的分配);
  2. 也可以通過(guò)YARN平臺(tái)運(yùn)行Spark任務(wù),包括Spark可以讀取HDFS上的數(shù)據(jù)文件;

Hadoop生態(tài)圈介紹

數(shù)據(jù)的來(lái)源,在企業(yè)中一般數(shù)據(jù)的來(lái)源分為兩種,第一種是企業(yè)內(nèi)部的數(shù)據(jù),

例如:業(yè)務(wù)數(shù)據(jù)(保存在關(guān)系型數(shù)據(jù)庫(kù)中),應(yīng)用的服務(wù)器日志(日志文件)。(機(jī)構(gòu)化數(shù)據(jù))

第二種外部渠道獲得,例如:用戶(hù)的行為記錄(推薦系統(tǒng)實(shí)現(xiàn)),通過(guò)搜索的關(guān)鍵字、消費(fèi)記錄、爬蟲(chóng)技術(shù)等(非結(jié)構(gòu)化數(shù)據(jù))。

hive(數(shù)據(jù)要進(jìn)行清洗獲取需要的數(shù)據(jù))

sqoop(數(shù)據(jù)導(dǎo)入導(dǎo)出到傳統(tǒng)數(shù)據(jù)庫(kù)中)

flume(日志收集工具)

hbase(數(shù)據(jù)庫(kù)存儲(chǔ))

hdfs

MapReduce

zookeeper


HDFS架構(gòu)

分布式存儲(chǔ)系統(tǒng),分布式的架構(gòu)上存在主/從的架構(gòu)關(guān)系,在HDFS文件系統(tǒng)存在主節(jié)點(diǎn)和從節(jié)點(diǎn)。

  • 主節(jié)點(diǎn):namenode負(fù)責(zé)管理HDFS集群文件中的元數(shù)據(jù)(文件名、文件位置、文件副本)

  • 從節(jié)點(diǎn):datanode負(fù)責(zé)存儲(chǔ)真正的數(shù)據(jù)

    image

在HDFS中數(shù)據(jù)的存儲(chǔ)是以塊(block)的方式進(jìn)行存儲(chǔ),默認(rèn)塊的大小為128MB。


YARN架構(gòu)

分布式架構(gòu),分為主從架構(gòu);

  • 主節(jié)點(diǎn) ResourceManager,負(fù)責(zé)管理集群中的所有資源(cpu、內(nèi)存、磁盤(pán)、網(wǎng)絡(luò)IO)。
  • 從節(jié)點(diǎn) NodeManager,負(fù)責(zé)管理集群中每一臺(tái)服務(wù)器的資源。

MapReduce架構(gòu)

核心思想,分而治之

  • Map端和Reduce端進(jìn)行數(shù)據(jù)分析
  • 數(shù)據(jù)在Map階段進(jìn)行分開(kāi)處理,處理完成之后,再交給Reduce進(jìn)行統(tǒng)計(jì),在Map和Reduce中間的階段通過(guò)shuffle來(lái)進(jìn)行連接
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容