什麼是Hadoop 它能做什麼
Hadoop是什麼?能做什麼?
隨著我們網路的發達,科技的發達,我們網路上產生的資料越來越多,越來越大,那麼大到什麼地步,有10000G那麼大嗎?告訴你比那個大多了!那有1000T那麼大嗎?比那個也大多了,已經是單一的伺服器解決不了的,那麼我們不是可以多用幾臺伺服器就解決了?一臺一臺伺服器分別寫入和讀取資料是很麻煩的。
接著分散式檔案系統就應運而生了,它可以管轄很多伺服器用來儲存資料,通過這個檔案系統儲存資料時,我們就感覺在操作一臺伺服器一樣。分散式檔案系統管理的是一個伺服器叢集。在這個叢集中,資料儲存在叢集的節點(即叢集中的伺服器)中,但是該檔案系統把伺服器的差異給遮蔽了,我們的資料分佈在不同的伺服器中,分佈在不同節點上的資料可能是屬於同一個檔案
對資料進行處理時,我們會把資料讀取到記憶體中進行處理。如果我們對海量資料讀取到記憶體中進行處理,比如資料大小是100T,我們要統計檔案中一共有多少個單詞。要想到檔案載入到記憶體中幾乎是不可能的,要想把資料載入到記憶體中幾乎也是不可能的。隨著技術發展,即使伺服器有
在分散式計算中,程式程式碼應該允許放在哪些資料節點上,哪些節點執行第一階段的程式碼,哪些節點執行第二階段的程式碼;第一階段程式碼執行完畢後,傳輸到第二階段程式碼所在節點;如果中間執行失敗了,怎麼辦?等等問題,都需要管理。執行這些管理職責程式碼的節點稱為主節點(master node),執行第一二階段程式程式碼的節點稱為從節點(slave node)。使用者的程式碼應該提交給主節點,由主節點負責把程式碼分配到不同的節點執行。
在hadoop中,分散式儲存系統統稱為HDFS(hadoop distributed file system)。其中,主節點為名位元組點(namenode),namenode就是master,namenode一是管理檔案系統檔案的元資料資訊(包括檔名稱、大小、位置、屬性、建立時間、修改時間等等),二是維護檔案到塊的對應關係和塊到節點的對應關係,三是維護使用者對檔案的操作資訊(檔案的增刪改查);從節點稱為資料節點(datanode),datanode就是slave,datanode主要是儲存資料的。master只有一個,slave可以有多個,這就是master/slave模式。
在hadoop中,分散式計算部分稱為Mapreduce。其中,主節點稱為作業節點(jobtracker),jobtracker就是master,jobtracker和namenode必須在同一臺伺服器上;從節點稱為從節點(tasktracker),tasktracker就是slave,tasktracker必須執行在datanode上。master只有一個,slave可以有多個,這就是master/slave模式。在任務節點中,執行第一段的程式碼稱為map任務,執行第二段程式碼稱為reduce任務。