轉帖|使用教程|編輯:龔雪|2014-08-05 09:49:45.000|閱讀 1073 次
概述:導讀:云計算和Hadoop中網絡是討論得相對比較少的領域。本文原文由Dell企業技術專家Brad Hedlund撰寫,他曾在思科工作多年,專長是數據中心、云網絡等。文章素材基于作者自己的研究、實驗和Cloudera的培訓資料。本文將著重于討論Hadoop集群的體系結構和方法,及它與網絡和服務器基礎設施的關系。最開始我們先學習一下Hadoop集群運作的基礎原理。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
Hadoop里的服務器角色
Hadoop主要的任務部署分為3個部分,分別是:Client機器,主節點和從節點。主節點主要負責Hadoop兩個關鍵功能模塊HDFS、Map Reduce的監督。當Job Tracker使用Map Reduce進行監控和調度數據的并行處理時,名稱節點則負責HDFS監視和調度。從節點負責了機器運行的絕大部分,擔當所有數據儲存和指令計算的苦差。每個從節點既扮演者數據節點的角色又沖當與他們主節點通信的守護進程。守護進程隸屬于Job Tracker,數據節點在歸屬于名稱節點。
Client機器集合了Hadoop上所有的集群設置,但既不包括主節點也不包括從節點。取而代之的是客戶端機器的作用是把數據加載到集群中,遞交給 Map Reduce數據處理工作的描述,并在工作結束后取回或者查看結果。在小的集群中(大約40個節點)可能會面對單物理設備處理多任務,比如同時Job Tracker和名稱節點。作為大集群的中間件,一般情況下都是用獨立的服務器去處理單個任務。
在真正的產品集群中是沒有虛擬服務器和管理層的存在的,這樣就沒有了多余的性能損耗。Hadoop在Linux系統上運行的最好,直接操作底層硬件設施。這就說明Hadoop實際上是直接在虛擬機上工作。這樣在花費、易學性和速度上有著無與倫比的優勢。
Hadoop集群
上面是一個典型Hadoop集群的構造。一系列機架通過大量的機架轉換與機架式服務器(不是刀片服務器)連接起來,通常會用1GB或者2GB的寬帶來支撐連接。10GB的帶寬雖然不常見,但是卻能顯著的提高CPU核心和磁盤驅動器的密集性。上一層的機架轉換會以相同的帶寬同時連接著許多機架,形成集群。大量擁有自身磁盤儲存器、CPU及DRAM的服務器將成為從節點。同樣有些機器將成為主節點,這些擁有少量磁盤儲存器的機器卻有著更快的CPU及更大的 DRAM。
下面我們來看一下應用程序是怎樣運作的吧:
Hadoop的工作流程
在計算機行業競爭如此激烈的情況下,究竟什么是Hadoop的生存之道?它又切實的解決了什么問題?簡而言之,商業及政府都存在大量的數據需要被快速的分析和處理。把這些大塊的數據切開,然后分給大量的計算機,讓計算機并行的處理這些數據 — 這就是Hadoop能做的。
下面這個簡單的例子里,我們將有一個龐大的數據文件(給客服部門的電子郵件)。我想快速的截取下“Refund”在郵件中出現的次數。這是個簡單的字數統計練習。Client將把數據加載到集群中(File.txt),提交數據分析工作的描述(word cout),集群將會把結果儲存到一個新的文件中(Results.txt),然后Client就會讀結果文檔。
向HDFS里寫入File
Hadoop集群在沒有注入數據之前是不起作用的,所以我們先從加載龐大的File.txt到集群中開始。首要的目標當然是數據快速的并行處理。為了實現這個目標,我們需要竟可能多的機器同時工作。最后,Client將把數據分成更小的模塊,然后分到不同的機器上貫穿整個集群。模塊分的越小,做數據并行處理的機器就越多。同時這些機器機器還可能出故障,所以為了避免數據丟失就需要單個數據同時在不同的機器上處理。所以每塊數據都會在集群上被重復的加載。 Hadoop的默認設置是每塊數據重復加載3次。這個可以通過hdfs-site.xml文件中的dfs.replication參數來設置。
Client把File.txt文件分成3塊。Cient會和名稱節點達成協議(通常是TCP 9000協議)然后得到將要拷貝數據的3個數據節點列表。然后Client將會把每塊數據直接寫入數據節點中(通常是TCP 50010協議)。收到數據的數據節點將會把數據復制到其他數據節點中,循環只到所有數據節點都完成拷貝為止。名稱節點只負責提供數據的位置和數據在族群中的去處(文件系統元數據)。
來源:CSDN
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件網