天天看點

好程式員大資料學習路線Hadoop學習幹貨分享

好程式員大資料學習路線Hadoop學習幹貨分享,Apache Hadoop 為可靠的,可擴充的分布式計算開發開源軟體。

Apache Hadoop軟體庫是一個架構,它允許使用簡單的程式設計模型跨計算機群集分布式處理大型資料集(海量的資料)。

包括這些子產品:

  • Hadoop Common:支援其他Hadoop子產品的常用工具。
  • Hadoop分布式檔案系統(HDFS™):一種分布式檔案系統,可提供對應用程式資料的高吞吐量通路。
  • Hadoop YARN:作業排程和叢集資源管理的架構。
  • Hadoop MapReduce:一種用于并行處理大型資料集的基于YARN的系統。

上述每個子產品有自己獨立的功能,而子產品之間又有互相的關聯。

廣義上來說,HADOOP通常是指一個更廣泛的概念——HADOOP生态圈

可靠,可擴充的分布式計算的開源軟體,由HDFS、MapReduce、YARN組成。

HDFS

Hadoop分布式檔案系統,一般由一到兩個Namenode程序和若幹Datanode程序組成,在實作了HA機制的HDFS中,還有ZKFC程序(一般跟NameNode程序運作在同一台計算機上)和多個JN程序。

節點

運作Namenode或Datanode程序的機器稱之為節點,對應的運作Namenode程序的機器稱之為Namenode節點,運作Datanode程序的機器稱之為Datanode節點,這裡的機器可以是實體機也可以是虛拟機。

Mapreduce

分布式并行離線計算架構,是一個分布式運算程式的程式設計架構,是使用者開發“基于hadoop的資料分析應用”的核心架構,Mapreduce核心功能是将使用者編寫的業務邏輯代碼和MR自帶預設元件整合成一個完整的分布式運算程式,并發的運作在一個hadoop叢集上;與HDFS解決問題的原理類似,HDFS是将大的檔案切分成若幹小檔案,然後将它們分别存儲到叢集中各個主機中。同樣原理,mapreduce是将一個複雜的運算切分成若個子運算,然後将它們分别交給叢集中各個主機,由各個主機并行運算。

名詞解釋

  • Job :使用者的每一個計算請求稱為一個作業。
  • Task:每一個作業,都需要拆分開了,交由多個主機來完成,拆分出來的執行機關就是任務。Task又分為如下三種類型的任務:
  • Map:負責map階段的整個資料處理流程
  • Reduce:負責reduce階段的整個資料處理流程
  • MRAppMaster:負責整個程式的過程排程及狀态協調

    YARN

    Yet Another Resource Negotiator(好吧,另一種資源協調者),作業排程和叢集資源管理的架構,由ResourceManager和NodeManager組成,ResourceManager有兩個主要元件:Scheduler和ApplicationsManager。

Scheduler

排程程式負責根據熟悉的容量,隊列等限制将資源配置設定給各種正在運作的應用程式。排程程式是純排程程式,因為它不執行應用程式狀态的監視或跟蹤。此外,由于應用程式故障或硬體故障,它無法保證重新開機失敗的任務。排程程式根據應用程式的資源需求執行其排程功能; 它是基于資源Container的抽象概念,它包含記憶體,cpu,磁盤,網絡等元素。

ApplicationsManager

負責接受作業送出,協商第一個容器以執行特定于應用程式的ApplicationMaster,并提供在失敗時重新啟動ApplicationMaster容器的服務。每個應用程式ApplicationMaster負責從Scheduler協商适當的資源容器,跟蹤其狀态并監視進度。

Zookeeper

分布式應用程式的分布式協調服務,由多個QuorumPeerMain程序組成,本質上這些程序功能類似,但是在zookeeper運作過程中,會由其中的一個程序充當leader角色,剩餘程序充當follower角色。

znode

zookeeper内部維護的處于記憶體中的樹狀資料結構中的一個組成部分,即樹狀資料結構中的節點,具有權限、類型、版本等相關元資訊,和子節點、父節點、自身内容等其他相關資訊。zookeeper負責監控節點的變化狀态,包括節點的新增、删除、内容變更、子節點變更,但是zookeeper不負責某個節點發生變化之後的動作,變化之後zookeeper可以告知這個節點的Watcher,然後由這個watcher負責處理。

HA

所謂HA,即高可用(7*24小時不中斷服務)(secondarynamenode隻是保證了“可靠性”)實作高可用最關鍵的是消除單點故障,hadoop-ha嚴格來說應該分成各個元件的HA機制——HDFS的HA、YARN的HA。

  • HDFS的HA機制詳解:通過雙namenode消除單點故障,雙namenode協調工作的要點:
    • 中繼資料管理方式需要改變
    • 需要一個狀态管理功能模

繼續閱讀