【Hadoop】大數據時代,咱們爲何使用hadoop

博客已轉移,請借一步說話。http://www.daniubiji.cn/archives/538服務器

 

咱們先來看看大數據時代,框架

什麼叫大數據,「大」,說的並不只是數據的「多」!不能用數據到了多少TB ,多少PB 來講。分佈式

對於大數據,能夠用四個詞來表示:大量,多樣,實時,不肯定。oop

也就是數據的量龐大,數據的種類繁雜多樣話,數據的變化飛快,數據的真假存疑。佈局

大量:這個你們都知道,想百度,淘寶,騰訊,Facebook,Twitter等網站上的一些信息,這確定算是大數據了,都要存儲下來。大數據

多樣:數據的多樣性,是說數據多是結構型的數據,也多是非結構行的文本,圖片,視頻,語音,日誌,郵件等。網站

實時:大數據須要快速的,實時的進行處理。若是說對時間要求低,那弄幾個機器,對小數據進行處理,等個十天半月的出來結果,這樣也沒有什麼意義了。this

不肯定: 數據是存在真僞的,各類各樣的數據,有的有用,有的沒用。很難辨析。spa

 

根據以上的特色,咱們須要一個東西,來:操作系統

1存儲大量數據

2快速的處理大量數據

3從大量數據中進行分析

 

因而就有了這樣一個模型hadoop。

hadoop的歷史就不說了。先來看看模型。

 

這就至關於一個生態系統,或者能夠當作一個操做系統XP,win7.

HDFS和MapReduce爲操做系統的核心,Hive,Pig,Mathout,Zookeeper,Flume,Sqoop,HBase等,都是操做系統上的一些軟件,或應用。

 

HDFS:(Hadoop Distributed File System),Hadoop分佈式文件系統。從名字上就看出了它的兩點功能。

基本功能,存文件,是一個文件系統;另外這個文件系統是分佈式的;

從圖上來看,HDFS的簡單原理。

Rack1,Rack2,Rack3是三個機架;

1,2,3,4,5,6,7,8,9,10,11,12 是機架上的十二臺服務器。

Block A, Block B, Block C爲三個信息塊,也就是要存的數據。

 

從總體佈局上來看,信息塊被分配到機架上。看似很均勻。這樣分配的目的,就是備份,防止某一個機器宕機後,單點故障的發生。

 

MapReduce,(Map + Reduce),就當作是計算的功能。能夠對數據進行處理。

它加快了計算。主要也是經過上圖的佈局。將數據分佈到多個服務器上。當有任務了,好比查詢,或者比較大小,先讓每臺服務器,都處理本身的存儲中文件。而後再將全部服務器的處理結果進行第二次處理。最後將結果返回。

 

其實,hadoop還有一點好處,就是省錢。

框架開源的,免費的,服務器也不用特別牛X的。

省錢纔是硬道理。

 

 

 另外,從別的資料看到一種解釋mapreduce的方式,很簡單

 

Goal: count the number of books in the library.

Map: You count up shelf #1, I count up shelf #2.

(The more people we get, the faster this part goes. )

Reduce: We all get together and add up our individual counts.

相關文章
相關標籤/搜索