Hadoop三大核心组件及需求催生大数据技术的背景
Spark是基于內(nèi)存處理的,所以比基于磁盤處理的Hadoop要快。Hadoop是離線處理的,也就是 先要將數(shù)據(jù)收集過來,然后基于數(shù)據(jù)進(jìn)行處理。Flume是數(shù)據(jù)采集,可以理解成是一個(gè)爬蟲框架,把數(shù)據(jù)比如日志等爬取過來。Hbase是存儲(chǔ)數(shù)據(jù)的,就類似于傳統(tǒng)關(guān)系型數(shù)據(jù)庫。Hive sql就類似于sql語句。
Storm是實(shí)時(shí)流式計(jì)算的頭牌。
Spark是一站式處理,什么都能做。
一個(gè)最基本的概念就是:Hadoop采用分布式集群的方式來處理海量的數(shù)據(jù)。
HDFS負(fù)責(zé)分布式分布式文件系統(tǒng)。提供存儲(chǔ)服務(wù)。File System.
MapReduce是Hadoop的第二大核心組件,是分布式運(yùn)算框架。一個(gè)存儲(chǔ),一個(gè)運(yùn)算。
導(dǎo)入jar包調(diào)用API編寫程序。storm和Spark都可以替代MapReduce。
Yarn是Hadoop的第三大核心組件。編寫完成的Hadoop大數(shù)據(jù)程序,并不是通過java -jar的方式直接運(yùn)行就可以的。而是需要Hadoop特定的運(yùn)行平臺(tái),而Yarn就是這么一個(gè)運(yùn)行平臺(tái)。
使用Hadoop我們可以將Hadoop類比成一個(gè)類似于Spring/Mybatis等的編程框架。也可以把它當(dāng)作一個(gè)Redis或Solr一樣的服務(wù)。
Google在2009年就提出了大數(shù)據(jù)的概念,后面就演化成了Hadoop的生態(tài)體系。
Nutch爬蟲+Lucene索引,不就等于Google嗎?
硬件配置再高,也有一個(gè)上限,也就是數(shù)據(jù)量很大的時(shí)候,單機(jī)的處理能力總有一個(gè)極限,也無法勝任。所以需要配置集群。
隨著數(shù)據(jù)量的增加,jvm遲早會(huì)內(nèi)存溢出:
既然單機(jī)解決不了這個(gè)問題,那么就用分布式集群來解決吧,但是分布式環(huán)境下又增加了復(fù)雜性,各位看官請(qǐng)看:
Hadoop也就是為了解決這些麻煩問題而生,天生支持分布式。
總結(jié)
以上是生活随笔為你收集整理的Hadoop三大核心组件及需求催生大数据技术的背景的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 支付宝开发中return_url和not
- 下一篇: Vmware虚拟机网络及IP配置