浅谈Hadoop YARN中的事件驱动机制
作者: Dong | 新浪微博: 西成懂 | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明 网址:http://dongxicheng.org/mapreduce-nextgen/hadoop-yarn-event-driven/ 1. 函数调用与事件驱动 在基于函数调用的编程方式中,当一个对象要向另外
作者:Dong | 新浪微博:西成懂 | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明
网址:http://dongxicheng.org/mapreduce-nextgen/hadoop-yarn-event-driven/
1. 函数调用与事件驱动
在基于函数调用的编程方式中,当一个对象要向另外一个对象传递信息时,会直接采用函数调用的方式。比如在Hadoop中,当TaskTracker需要执行一个Task时,一般首先下载Task以来的文件(jar包、二进制文件等、字典文件等)、然后执行Task,同时在整个过程中,会记录一些关键日志,该过程可用下图表示:
基于函数调用的编程模型是低效的,它隐含中整个过程是串行、同步进行的。一种更为先进的编程模型是事件驱动,这在Hadoop YARN和Mesos等分布式系统中得到了广泛应用。在基于事件驱动的编程模型中,所有对象被抽象成了事件处理器,而事件处理器之间通过事件相互关联。每种事件处理器处理一种类型的事件,同时根据需要触发另外一种事件,该过程如下图所示。
相比于基于函数调用的编程模型,这种编程方式具有异步、并发等特点,更加高效,因此更加适合大型分布式系统。
2. Hadoop YARN中的事件驱动
我们以Hadoop中的调度器框架为例说明基于事件驱动的开发模块给Hadoop带来的变化。在Hadoop 1.0中,Hadoop中的调度器是可插拔的,一次调度过程如下所示:
步骤1???? TaskTracker向JobTracker发送心跳,请求新的任务
步骤2???? JobTracker收到心跳信息后,调用TaskScheduler(可能是JobQueueTaskScheduler、FairScheduler或者CapacityTaskScheduler)的assignTasks()函数,为该TaskTracker分配任务。
步骤3???? TaskScheduler通过一定的策略选择一个或者多个任务,并返回给JobTracker
步骤4???? JobTracker通过心跳应答将任务发给TaskTracker。
注意,上面的步骤1~4是一气呵成的,仅当这四个步骤全部完成,一次心跳发送才算完成。
而在YARN中,由于采用了事件驱动,资源汇报和任务获取可异步进行。如下图所示,NodeManager向ResourceManager汇报心跳信息后,ResourceManager会简单收集一些信息直接返回给对应的NodeManager,同时触发一个NODE_UPDATE事件,该事件会被ResourceScheduler接收并处理,如果ResourceScheduler发现节点有空闲资源,则采用一定的分配算法将该资源分配给应用程序,并将分配结果暂时放到一个缓冲区中,等待ApplicationMaster自己来取。
总之,采用事件驱动之后,ResourceManager中的心跳处理和资源分配可以异步并发进行,而不像JobTracker那样同步串行进行。
原创文章,转载请注明: 转载自董的博客
本文链接地址: http://dongxicheng.org/mapreduce-nextgen/hadoop-yarn-event-driven/
作者:Dong,作者介绍:http://dongxicheng.org/about/
Copyright © 2013
This feed is for personal, non-commercial use only.
The use of this feed on other websites breaches copyright. If this content is not in your news reader, it makes the page you are viewing an infringement of the copyright. (Digital Fingerprint:
)

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

羅技ghub驅動是不是不支援win7?不相容。由於Windows7已停止更新且不再是微軟的主要作業系統,許多新軟體不再支援它,如羅技ghub。羅技驅動的主要介面:1.軟體主介面在左邊,三個按鈕依序是燈光,按鍵,靈敏度設定。 2.燈光介面的設置中,一般特效比較常規,音頻視覺效果是亮點,可以根據聲音頻率變色,根據高中低音頻段來進行設置,有不同的顏色和效果。 3.按鍵設定中,使用者可以根據自己有什麼特殊要求的可以在這裡編輯。 4.靈敏度設定裡面有很多用戶會有一些屬於自己的設置,可以自己加DPI速度切換點,但是

面對無法正常使用的羅技驅動,只可以透過恢復出廠來解決,但很多小夥伴不知道怎麼才可以去恢復出廠設置,下面就為大家提供詳細的恢復出廠設置步驟,希望可以幫助到你們。羅技驅動恢復預設配置步驟1、先下載羅技專用驅動軟體GHub,下載完成後打開,2、然後打開滑鼠進行設置,在點擊右上角的設定(齒輪),3、最下方就由“恢復預設設定” ,直接點選後,重新開啟軟體就恢復出廠設定了。羅技驅動怎麼連接設備1、打開滑鼠後蓋拿出無線滑鼠插口,2、選擇電腦旁的滑鼠插入口,3、滑鼠設定對應的參數訊息,4、藍牙配對設備,長按藍牙

下載雷蛇滑鼠驅動的步驟:1、開啟瀏覽器,進入雷蛇官網;2、在官網頁面,尋找並點擊「技術支援」或類似的選項;3、在技術支援頁面,選擇「滑鼠」或具體的子分類;4、在滑鼠驅動下載頁面,你可以看到各種滑鼠型號及其對應的驅動程式;5、點擊所選驅動程式的下載連結;6、下載完成後,檢查下載的檔案是否完整,確保沒有損壞或缺失。

有些用戶在安裝win11電腦的驅動程式時遇到了一些問題,電腦提示無法驗證此文件的數位簽名,導致無法安裝驅動,這該怎麼解決呢?詳細請看下文介紹。 1.按【Win+X】組合鍵,或【右鍵】點選工作列上的【Windows標誌】,在開啟的選單項目中,選擇【執行】;2、執行窗口,輸入【powershell】指令,然後按【Ctrl+Shift+Enter】以管理員權限打開WindowsPowershell窗口;3、用戶帳戶控制窗口,你要允許此應用程式對你的設備進行更改嗎?點擊【是】;4、管理員:WindowsPowers

我們在使用win11系統的安裝或是執行程式的時候有時候需要數位簽章才能夠正常的使用,但是也有不少的使用者們在詢問win11驅動程式沒有數位簽章怎麼解決?使用者可以以管理員權限開啟WindowsPowershell視窗來進行操作就可以了。以下就讓本站來為使用者來仔細的介紹一下win11驅動沒有數位簽章的解決方法吧。 win11驅動沒有數位簽章的解決方法方法一:1、按【Win+X】組合鍵,或【右鍵】點選任務列上的【Windows標誌】,在開啟的選單項目中,選擇【執行】。 2、運行窗口,輸入【powershel

聲卡驅動在哪裡打開聲卡驅動是電腦中一個非常重要的組成部分,它負責處理聲音訊號的輸入和輸出,以及對聲音訊號進行解碼和編碼。在作業系統中,我們可以透過開啟音效卡驅動來控制和調節電腦的音量,並且在需要時可以連接外部音訊裝置。那麼,聲卡驅動在哪裡打開呢?以下將為大家詳細介紹。首先,音效卡驅動的開啟方式取決於您的作業系統。在Windows系統中,您可以透過下列步驟開啟

CSS回流(reflow)和重繪(repaint)是網頁效能優化中非常重要的概念。在開發網頁時,了解這兩個概念的工作原理,可以幫助我們提高網頁的回應速度和使用者體驗。本文將深入探討CSS回流和重繪的機制,並提供具體的程式碼範例。一、CSS回流(reflow)是什麼?當DOM結構中的元素發生視覺性、尺寸或位置改變時,瀏覽器需要重新計算並套用CSS樣式,然後重新佈局

電腦連接印表機之後,需要安裝對應的印表機驅動才能正常運作,有些印表機故障也是需要透過印表機驅動才能解決的。那我們要怎麼安裝印表機驅動呢?主要分為兩種方法,一種是手動那種,一種是藉助第三方軟體。 方法一:手動安裝法要確保知道自己使用的印表機品牌和型號,可以在購買時的詳情頁或說明書上查找,另外也可以在印表機本身上尋找相關標誌。 在搜尋引擎輸入品牌名,認準官網後進入在【軟體和驅動下載】處選擇【印表機】,輸入產品型號,下載印表機驅動程式。 下載完成後,找到對應的程序,雙擊進行安裝,待安裝完
