日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hadoop相关技术

發布時間:2024/7/19 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hadoop相关技术 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一.Hadoop 的優化與發展

1.1 局限與不足

  • 抽象層次低,需要人工編碼;
  • 表達能力有限;
  • 開發者自己管理作業之間的依賴關系;
  • 難于看到程序的整體的邏輯;
  • 執行迭代操作效率低;
  • 實時性差;
  • 資源浪費;

1.2 改進與提升

  • 對MapReduce 和HDFS兩大核心組件進行改進;
  • 不斷豐富Hadoop組件,包括Pig,Tez,Spark和Kafka等。

二.HDFS2.0的新特性

2.1 HDFS HA:解決單點故障問題。

2.2 HDFS Federation

  • 存在的問題

  • 解決方式:HDFS Federation

    • 解決單名稱節點存在的問題,解決了HDFS 的集群擴展性問題,性能更高效,具有良好的隔離性。
    • 各自管理字節的命名空間;

三.新一代資源管理調度管家YARN

3.1 MapReduce 1.0 的缺陷

  • 存在單點故障;
  • JobTracker 任務過重;
  • 容易出現內存溢出;
  • 資源劃分不合理, Map Slot和Reduce Slot;

3.2 YARN 設計思路

分離出資源管理功能,單獨形成YARN,MapReduce 2.0變成了運行在YARN 上的純粹的計算框架。

  • ResourceManager:負責資源管理;
  • ApplicationMaster:負責任務調度和任務監控;

YARN 是一個資源管理調度框架。

3.3 YARN 體系結構

  • ResourceManager:全局資源管理器,負責整個系統的資源管理與分配,兩大核心組件如下;

    • 調度器Scheduler;
      • 接收來自ApplicationMaster的應用程序資源請求,把集群中的資源以“容器”的形式分配給提出申請的應用程序,容器的選擇通常會考慮應用程序所要處理的數據的位置,進行就近選擇從而實現“計算向數據靠攏”;
      • 容器(Container)作為動態資源分配單位,每個容器都封裝了一定數量的CPU、內存、磁盤等資源,從而限定每個應用程序可以使用的資源數量。
      • 調度器被設計成一個可插拔的組件,YARN不僅自身是提供了許多種直接可用的調度器,也允許用戶根據自己的需求重新設計調度器。
    • 應用程序管理器Applications Manager
    • 負責系統中所有應用程序的管理工作,主要包括應用程序提交、與調度器協商資源以啟動ApplicationMaster、監控ApplicationMaster 運行狀態并在失敗是重新啟動等;
  • ApplicationMaster

    • ResourceManager接收用戶提交的作業,按照作業的上下文信息以及NodeManager收集來的容器狀態信息,啟動調度過程,為用戶作業啟動一個ApplicationMaster;
    • 功能:
      • 當用戶提交作業時,ApplicationMaster與ResourceManager協商獲取資源;
      • ResourceManager會以容器的形式為ApplicationMaster分配資源;
      • 把獲取的資源進一步分配給內部的各個任務(Map任務和Reduce 任務)實現資源的“二次分配”;
      • 與NodeManager保持交互通信,進行應用程序的啟動、運行、監控和停止,監控申請到的資源的使用情況;
      • 對所用任務的執行進度的和狀態進行監控,并在任務發生失敗時執行失敗恢復(即重新申請資源重啟任務);
      • 定時向ResourceManager發送“心跳”信息,報告資源的使用情況和應用的進程信息;
      • 當作業完成時,ApplicationMaster向 ResourceManager注銷容器,執行周期完成;
  • NodeManager

    • NodeManager 是駐留在YARN集群中的每個節點上的代理,主要負責如下工作:
      • 容器生命周期管理;
      • 監控每個容器的資源使用情況;
      • 以“心跳"的方式與ResourceManager保持通信;
      • 向ResourceManager匯報作業的資源使用情況和每個容器的而運行狀態;
      • 跟蹤節點健康狀況;
      • 接收來自ApplicationMaster的啟動\停止容器的各種請求;
  • 部署情況:

3.4 YARN 工作流程

  • 用戶編寫客戶端應用程序,向YARN 提交應用程序;
  • YARN 中的REsourceManager負責接收和處理來自客戶端的請求,為用程序分配一個容器,在該容器中啟動一個ApplicationMaster;
  • ApplicationMaster 被創建后會首先向ResourceManager注冊;
  • ApplicationMaster 采用輪詢的方式向ResourceManager申請資源;
  • ResourceManager以容器的形式向提出申請的ApplicationMaster分配資源;
  • 在容器中啟動任務;
  • 各個任務向 ApplicationMaster 匯報自己的狀態和進度;
  • 應用程序運行完成后ApplicationMaster向ResourceManager的應用程序管理器注銷并關閉自己;

3.5 YARN框架與MapReduce1.0框架的對比分析




3.6 YARN 發展目標

四.Hadoop 中代表性的組件

4.1 Pig 組件




4.2 Tez 組件





4.3 Spark 和 Kafka組件





總結

以上是生活随笔為你收集整理的Hadoop相关技术的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。