大數據面試題集錦-Hadoop面試題(四)-YARN

来源:https://www.cnblogs.com/the-pig-of-zf/archive/2023/07/10/17542453.html
-Advertisement-
Play Games

> 你準備好面試了嗎?這裡有一些面試中可能會問到的問題以及相對應的答案。如果你需要更多的面試經驗和麵試題,關註一下"**張飛的豬大數據分享**"吧,公眾號會不定時的分享相關的知識和資料。 [TOC] ## 1、為什麼會產生 yarn,它解決了什麼問題,有什麼優勢? 1)Yarn最主要的功能就是解決運 ...


你準備好面試了嗎?這裡有一些面試中可能會問到的問題以及相對應的答案。如果你需要更多的面試經驗和麵試題,關註一下"張飛的豬大數據分享"吧,公眾號會不定時的分享相關的知識和資料。

目錄

1、為什麼會產生 yarn,它解決了什麼問題,有什麼優勢?

1)Yarn最主要的功能就是解決運行的用戶程式與yarn框架完全解耦。
  2)Yarn上可以運行各種類型的分散式運算程式(mapreduce只是其中的一種),比如mapreduce、storm程式,spark程式……

2、簡述hadoop1與hadoop2 的架構異同

1)加入了yarn解決了資源調度的問題。
  2)加入了對zookeeper的支持實現比較可靠的高可用。

3、Hadoop的調度器總結

(1)預設的調度器FIFO
  Hadoop中預設的調度器,它先按照作業的優先順序高低,再按照到達時間的先後選擇被執行的作業。
(2)計算能力調度器Capacity Scheduler
  支持多個隊列,每個隊列可配置一定的資源量,每個隊列採用FIFO調度策略,為了防止同一個用戶的作業獨占隊列中的資源,該調度器會對同一用戶提交的作業所占資源量進行限定。調度時,首先按以下策略選擇一個合適隊列:計算每個隊列中正在運行的任務數與其應該分得的計算資源之間的比值,選擇一個該比值最小的隊列;然後按以下策略選擇該隊列中一個作業:按照作業優先順序和提交時間順序選擇,同時考慮用戶資源量限制和記憶體限制。
(3)公平調度器Fair Scheduler
  同計算能力調度器類似,支持多隊列多用戶,每個隊列中的資源量可以配置,同一隊列中的作業公平共用隊列中所有資源。實際上,Hadoop的調度器遠不止以上三種,最近,出現了很多針對新型應用的Hadoop調度器。

4、MapReduce 2.0 容錯性

1)MRAppMaster容錯性
  一旦運行失敗,由YARN的ResourceManager負責重新啟動,最多重啟次數可由用戶設置,預設是2次。一旦超過最高重啟次數,則作業運行失敗。
2)Map Task/Reduce
  Task Task周期性向MRAppMaster彙報心跳;一旦Task掛掉,則MRAppMaster將為之重新申請資源,並運行之。最多重新運行次數可由用戶設置,預設4次。

5、HDFS的數據壓縮演算法?

Hadoop中常用的壓縮演算法有bzip2、gzip、lzo、snappy,其中lzo、snappy需要操作系統安裝native庫才可以支持。
  數據可以壓縮的位置如下所示。
在這裡插入圖片描述

企業開發用的比較多的是snappy。

6、mapreduce推測執行演算法及原理

1)作業完成時間取決於最慢的任務完成時間
  一個作業由若幹個Map 任務和Reduce 任務構成。因硬體老化、軟體Bug 等,某些任務可能運行非常慢。
  典型案例:系統中有99%的Map任務都完成了,只有少數幾個Map老是進度很慢,完不成,怎麼辦?
2)推測執行機制
  發現拖後腿的任務,比如某個任務運行速度遠慢於任務平均速度。為拖後腿任務啟動一個備份任務,同時運行。誰先運行完,則採用誰的結果。
3)不能啟用推測執行機制情況
  (1)任務間存在嚴重的負載傾斜;
  (2)特殊任務,比如任務向資料庫中寫數據。
4)演算法原理
  假設某一時刻,任務T的執行進度為progress,則可通過一定的演算法推測出該任務的最終完成時刻estimateEndTime。另一方面,如果此刻為該任務啟動一個備份任務,則可推斷出它可能的完成時刻estimateEndTime,於是可得出以下幾個公式:

estimateEndTime=estimatedRunTime+taskStartTime
estimatedRunTime=(currentTimestamp-taskStartTime)/progress
estimateEndTime= currentTimestamp+averageRunTime

其中,currentTimestamp為當前時刻;taskStartTime為該任務的啟動時刻;averageRunTime為已經成功運行完成的任務的平均運行時間。這樣,MRv2總是選擇(estimateEndTime- estimateEndTime·)差值最大的任務,併為之啟動備份任務。為了防止大量任務同時啟動備份任務造成的資源浪費,MRv2為每個作業設置了同時啟動的備份任務數目上限。
  推測執行機制實際上採用了經典的演算法優化方法:以空間換時間,它同時啟動多個相同任務處理相同的數據,並讓這些任務競爭以縮短數據處理時間。顯然,這種方法需要占用更多的計算資源。在集群資源緊缺的情況下,應合理使用該機制,爭取在多用少量資源的情況下,減少作業的計算時間。

7、更多大數據面試集錦

  1. 大數據書籍資料分享
  2. 大數據面試題集錦

本文來自博客園,作者:張飛的豬,轉載請註明原文鏈接:https://www.cnblogs.com/the-pig-of-zf/p/17542453.html

公眾號:張飛的豬大數據分享,不定期分享大數據學習的總結和相關資料,歡迎關註。

個人網站"張飛的豬編程工作室"鏈接: https://zhangfeidezhu.com


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 如果我說可以用java對nginx進行擴展,就像OpenResty支持Lua擴展一樣,您相信嗎?一起來體驗nginx-clojure吧 ...
  • 緩存數據同步策略示意圖 在大多數情況下,我們通過瀏覽器查詢到的數據都是緩存數據,如果緩存數據與資料庫的數據存在較大差異的話,可能會產生比較嚴重的後果的。所以,我們應該也必須保證資料庫數據、緩存數據的一致性,這就是緩存與資料庫的同步。 緩存數據同步策略 緩存數據同步,常見的有三種方式: 1:設置有效期 ...
  • [toc] # 簡介 - Jwt分為三段 通過遠點分割 1. header => 描述這個token加密方式 2. PlayLoad => 有效載荷,用戶信息+自定義Claims信息Verify 3. Signature => 簽名, (頭部信息base64處理,有效載荷base64處理) + 密鑰 ...
  • # 前言 這是一個簡便的,對MongoDB增刪改查,無需提前建庫,建表,安裝就能快速上手使用。 MongoDB多條件查詢需要JSON的多層嵌套如{DDATE:{$gte:{$date:'2023-06-05T13:41'},$lte:{$date:'2023-06-05T23:59'}},Qty:{ ...
  • ## - 結論 先上結論,答案是yes,C#中數組確實具有out參數的特性。 ## - 疑問 最近開發一個上位機的功能,有段代碼看得我一直很迷糊,我的認識,函數的執行結果,要麼在函數中通過return返回,要麼通過out或ref參數返回。這段代碼中明顯沒有通過return獲取返回值,輸入參數倒是看起 ...
  • **1.安裝Wifi配置庫(nanoFramework.System.Device.Wifi)** ![](https://img2023.cnblogs.com/blog/2907004/202307/2907004-20230710193559740-846116472.jpg) > 1.1 n ...
  • 哈嘍大家好,我是鹹魚 不知道你們有沒有遇到過下麵的情況,以我為例 有時候我會收到批量操作伺服器的需求,且我會拿到一個伺服器 ip 列表,它是一個多行的形式,如下所示 ```bash # ip 列表 192.168.0.1 192.168.0.2 192.168.0.3 192.168.0.4 192 ...
  • ![](https://img2023.cnblogs.com/blog/3076680/202307/3076680-20230710222226297-1155867049.png) # 1. 年月日加減法 ## 1.1. DB2 ### 1.1.1. sql ```sql select hir ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...