大資料 技術入門03

2022-03-26 23:11:39 字數 2982 閱讀 2060

yarn是資源管理系統,理論上支援多種資源,目前支援cpu和記憶體兩種資源

yarn產生背景

直接源於mrv1在幾個方面的缺陷

擴充套件性受限

單點故障

難以支援mr之外的計算

多計算框架各自為戰,資料共享困難

mr:離線計算框架

storm:實時計算框架

spark:記憶體計算框架

yarn設計目標

通用的統一資源管理系統

同時首席執行官應用程式和短應用程式

長應用程式

通常情況下,永不停止執行的程式

service、http server等

短應用程式

短時間(秒級、分鐘級、小時級)內會執行結束的程式

mr job、spark job等

yarn基本架構

整個集群只有乙個,負責集群資源的統一管理和排程

詳細功能

處理客戶端請求

監控nodemanager

資源分配與排程

nodemanager

整個集群有多個,負責單節點資源管理和使用

詳細功能

單個節點上的資源管理和任務管理

處理來自resourcemanager的命令

每個應用有乙個,負責應用程式的管理

詳細功能

資料切分

為應用程式申請資源,並進一步分配給內部任務

任務監控與容錯

container

對任務執行環境的抽象

描述一系列資訊

任務執行資源(節點、記憶體、cpu)

任務啟動命令

任務執行環境

yarn執行過程

yarn容錯性

resourcemanager

存在單點故障;

正在基於zookeeper實現ha。

nodemanager

失敗後,rm將失敗任務告訴對應的am;

am決定如何處理失敗的任務。

失敗後,由rm負責重啟;

am需處理內部任務的容錯問題;

yarn排程框架

雙層排程框架

rm將資源分配給am

am將資源進一步分配給各個task

基於資源預留的排程策略

資源不夠時,會為task預留,直到資源充足

與「all or nothing」策略不同(apache mesos)

yarn資源排程器

多型別資源排程

採用drf演算法(**:「dominant resource fairness: fair allocation of multiple resource types」)

目前支援cpu和記憶體兩種資源

提供多種資源排程器

fifo

fair scheduler

capacity scheduler

多租戶資源排程器

支援資源按比例分配

支援層級佇列劃分方式

支援資源搶占

yarn資源隔離方案

支援記憶體和cpu兩種資源隔離

記憶體是一種「決定生死」的資源

cpu是一種「影響快慢」的資源

記憶體隔離

基於執行緒監控的方案

基於cgroups的方案

cpu隔離

預設不對cpu資源進行隔離

基於cgroups的方案

yarn支援的排程語義

支援的語義

請求某個特定節點/機架上的特定資源量

將某些節點加入(或移除)黑名單,不再為自己分配這些節點上的資源

請求歸還某些資源

不支援的語義

請求任意節點/機架上的特定資源量

請求一組或幾組符合某種特質的資源

超細粒度資源

動態調整container資源

執行在yarn上的計算框架 (還有別的)

離線計算框架:mapreduce

dag計算框架:tez

流式計算框架:storm

記憶體計算框架:spark

離線計算框架:mapreduce 

僅適合離線批處理

具有很好的容錯性和擴充套件性

適合簡單的批處理任務

缺點明顯

啟動開銷大、過多使用磁碟導致效率低下等

dag計算框架:apache tez 

dag計算:多個作業之間存在資料依賴關係,並形成乙個依賴關係有向圖( directed acyclic graph ),該圖的計算稱為「dag計算」

和mapreduce相比

tez應用場景

直接編寫應用程式

tez提供了一套通用程式設計介面

適合編寫有依賴關係的作業

優化pig、hive等引擎

好處1:避免查詢語句轉換成過多的mapreduce作業後產生大量不必要的網路和磁碟io

好處2:更加智慧型的任務處理引擎

流式計算框架:storm

storm on yarn(和其他如mapreduce、tez、spartk等都不同,其他計算框架的client)

記憶體計算框架:spark

已經形成了自己的生態系統

Metasploit技術初入門03

一般情況下剛開始得到shell的時候都是guest或者user許可權,許可權級別比較低。為了能做更多的事,比如獲取hash,安裝軟體,修改防火牆,修改登錄檔等,就需要獲得許可權管理員許可權,root就是夢想啊!為所欲為!提權的目標系統主要是windows和linux。提權的種類主要有兩種 橫向提權和...

大資料技術

如果沒有乙個好的開始,不妨試試乙個壞的開始吧。因為乙個壞的開始,總比沒有開始強。而完美的開始,則永遠都不會來到。資料採集傳輸主要技術 分為兩類,一類是離線批處理 另一類是實時資料採集和傳輸 離線批處理最有名的是sqoop 實時資料採集和傳輸最為常用的是flume和kafka sqoop 一款開源的離...

大資料技術

前言 學習了好久了,也沒有系統的整理過這些東西,感覺再這麼下去算是荒廢了,懶惰加上不思進取就這樣子過去大半年了,而且最近總是把技術聖地變成自己的宣洩的地方哈哈,隨便寫的啥都亂髮,打擾到各位了,在這裡給各位道歉了 經過乙個比賽感覺自己也學得不紮實,自從非正常退役acm以後,就距離乙個acmer越來越遠...