1、分布式儲存
2、分布式計算
1、分布式儲存 hdfs
名稱節點namenode:檔案管理
資料節點datanode:檔案儲存
2、分布式計算 mapreduce
map:任務的分解
reduce:結果的彙總
hdfs分布式檔案系統(hadoop distributed file system):
hdfs是乙個高度容錯性的分布式檔案系統,能夠提供高吞吐量的資料訪問,非常適合大規模資料集上的應用。
namenode:可以看作是分布式檔案系統中的管理者,儲存檔案系統的meta-data,主要負責管理檔案系統的命名空間,集群配置資訊,儲存塊的複製。
datanode:是檔案儲存的基本單元,它儲存檔案塊在本地檔案系統中,儲存了檔案塊的meta-data,同時週期性的傳送所有存在的檔案塊的報告給namenode。
hdfs具體操作:
檔案寫入:
1、client向namenode發起檔案寫入的請求
2、namenode根據檔案大小和檔案塊配置情況,返回給client它所管理部分datanode的資訊
3、client將檔案劃分為多個檔案塊,根據detanode的位址資訊,按順序寫入到每乙個datanode塊中
檔案讀取:
1.client向namenode發起檔案讀取的請求。
2.namenode返回檔案儲存的datanode的資訊。
3.client讀取檔案資訊
mapreduce是一種程式設計模型,用於大規模資料集的並行運算。
map(對映)和reduce(化簡),採用分而治之思想,先把任務分發到集群的多個節點上,平行計算,然後再把計算結果合併,從而得到最終計算結果。多節點計算,所涉及的任務排程、負載均衡、容錯處理等,都由mapreduce框架完成,不需要程式設計人員關心這些內容。
分兩個階段:map階段---程式maptask
reduce階段---程式reducetask
map階段:將每一行文字資料變成《單詞,1>這樣的key-value資料
reduce階段:將相同單詞的一組key-value資料進行聚合,累加所有的key-value
注意:mapreduce程式中
map階段的進、出資料
reduce階段的進、出資料
資料的型別應該是實現了hadoop序列化的型別,如:
string -> text
integer -> intwritable
long -> longwritable
mapreduce程式執行在很多機器上,而且先執行map task,當眾多的map task都處理完資料後,還需要啟動眾多的reduce task,這個過程如果是使用者自己手動排程不現實,需要有自動化的排程平台---hadoop中就為mapreduce之類的分布式運算開發了乙個自動化排程平台—yarn
yarn是乙個分布式程式的執行排程平台,yarn有兩個核心角色
1、resourcemanager
接受使用者提交的分布式計算程式,並為其劃分資源,管理、監控各個nodemanager上的資源,以便於負載均衡
2、nodemanager
管理它所在的機器的執行資源(cpu+記憶體)
負責接收resourcemanager分配的任務,建立容器,**資源
yarn的安裝
nodemanager在物理上應該跟data node部署在一起
resourcemanager在物理上應該部署在一台專門的機器上
1、修改配置檔案:yarn-site.xml
2、scp這個檔案到其他的節點上
3、啟動yarn集群:start-yarn.sh(只能在resourcemanager上執行)
4、用jps命令檢查yarn的程序,用web瀏覽器檢視yarn的web控制台
大資料(八)Hadoop YARN配置
1 配置mapred site.xml root node01 hadoop mv mapred site.xml.template mapred site.xml root node01 hadoop vi mapred site.xml mapreduce.framework.name yarn...
Hadoop YARN的發展史與詳細解析
編者按 成熟 通用讓hadoop深得大資料玩家喜愛,即使是在yarn出現之前,在流處理框架林立下,hadoop仍然被眾多機構廣泛運用在離線處理之上。借鑑於mesos,mapreduce獲得新生,yarn提供了更加優秀的資源管理器,讓storm等流處理框架同樣可以執行在hadoop集群之上 但是別忘記...
Hadoop YARN的發展史與詳細解析
帶有 mapreduce 的 apache hadoop 是分布式資料處理的骨幹力量。借助其獨特的橫向擴充套件物理集群架構和由 google 最初開發的精細處理框架,hadoop 在大資料處理的全新領域迎來了 式增長。hadoop 還開發了乙個豐富多樣的應用程式生態系統,包括 apache pig ...