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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hadoop相关技术

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

一.Hadoop 的優(yōu)化與發(fā)展

1.1 局限與不足

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

1.2 改進與提升

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

二.HDFS2.0的新特性

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

2.2 HDFS Federation

  • 存在的問題

  • 解決方式:HDFS Federation

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

三.新一代資源管理調(diào)度管家YARN

3.1 MapReduce 1.0 的缺陷

  • 存在單點故障;
  • JobTracker 任務(wù)過重;
  • 容易出現(xiàn)內(nèi)存溢出;
  • 資源劃分不合理, Map Slot和Reduce Slot;

3.2 YARN 設(shè)計思路

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

  • ResourceManager:負責(zé)資源管理;
  • ApplicationMaster:負責(zé)任務(wù)調(diào)度和任務(wù)監(jiān)控;

YARN 是一個資源管理調(diào)度框架。

3.3 YARN 體系結(jié)構(gòu)

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

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

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

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

3.4 YARN 工作流程

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

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




3.6 YARN 發(fā)展目標(biāo)

四.Hadoop 中代表性的組件

4.1 Pig 組件




4.2 Tez 組件





4.3 Spark 和 Kafka組件





總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。