做爰高潮a片〈毛片〉,尤物av天堂一区二区在线观看,一本久久A久久精品VR综合,添女人荫蒂全部过程av

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

將HadoopRPC框架應(yīng)用于多節(jié)點任務(wù)調(diào)度

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-09 13:25:03
文檔

將HadoopRPC框架應(yīng)用于多節(jié)點任務(wù)調(diào)度

將HadoopRPC框架應(yīng)用于多節(jié)點任務(wù)調(diào)度:在hadoop中,主從節(jié)點之間保持著心跳通信,用于傳輸節(jié)點狀態(tài)信息、任務(wù)調(diào)度信息以及節(jié)點動作信息等等。 hdfs的namenode與datanode,mapreduce的jobtracker與tasktracker,hbase的hmaster與 regionserver之間的通信,都是基于hadoop RP
推薦度:
導(dǎo)讀將HadoopRPC框架應(yīng)用于多節(jié)點任務(wù)調(diào)度:在hadoop中,主從節(jié)點之間保持著心跳通信,用于傳輸節(jié)點狀態(tài)信息、任務(wù)調(diào)度信息以及節(jié)點動作信息等等。 hdfs的namenode與datanode,mapreduce的jobtracker與tasktracker,hbase的hmaster與 regionserver之間的通信,都是基于hadoop RP
  • TaskRunner:
  • 2013-01-20 15:42:26,323 [main] INFO? [org.mh.rpc.task.TaskRunner] – client get jobdetail:JobDetail ‘JobGroup_1.MyJob_1′:? jobClass: ‘org.mh.rpc.quartz.GetSumTask isStateful: false isVolatile: false isDurable: false requestsRecovers: false
    2013-01-20 15:42:26,329 [main] INFO? [org.mh.rpc.task.TaskRunner] – client get trigger:Trigger ‘Trigger_Group_1.Trigger_1′:? triggerClass: ‘org.quartz.SimpleTrigger isVolatile: false calendar: ‘null’ misfireInstruction: 0 nextFireTime: null
    2013-01-20 15:42:26,382 [main] INFO? [org.quartz.simpl.SimpleThreadPool] – Job execution threads will use class loader of thread: main
    2013-01-20 15:42:26,411 [main] INFO? [org.quartz.core.SchedulerSignalerImpl] – Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl
    2013-01-20 15:42:26,411 [main] INFO? [org.quartz.core.QuartzScheduler] – Quartz Scheduler v.1.6.5 created.
    2013-01-20 15:42:26,413 [main] INFO? [org.quartz.simpl.RAMJobStore] – RAMJobStore initialized.
    2013-01-20 15:42:26,413 [main] INFO? [org.quartz.impl.StdSchedulerFactory] – Quartz scheduler ‘DefaultQuartzScheduler’ initialized from default resource file in Quartz package: ‘quartz.properties’
    2013-01-20 15:42:26,413 [main] INFO? [org.quartz.impl.StdSchedulerFactory] – Quartz scheduler version: 1.6.5
    2013-01-20 15:42:26,415 [main] INFO? [org.quartz.core.QuartzScheduler] – Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED started.
    org.mh.rpc.quartz.DemoTask@1b66b06: executing task @Sun Jan 20 15:42:26 CST 2013

    上面是一個簡單的demo,演示了如何通過RPC將任務(wù)調(diào)度給節(jié)點去執(zhí)行,對于Quartz來說,任務(wù)的形式可以千變?nèi)f化,關(guān)鍵就看怎么去使用了,分發(fā)到多個節(jié)點上執(zhí)行的話,就還需要對任務(wù)的信息做更多的封裝了。

    (本文已被閱讀2次)

    在hadoop中,主從節(jié)點之間保持著心跳通信,用于傳輸節(jié)點狀態(tài)信息、任務(wù)調(diào)度信息以及節(jié)點動作信息等等。 hdfs的namenode與datanode,mapreduce的jobtracker與tasktracker,hbase的hmaster與 regionserver之間的通信,都是基于hadoop RPC。Hadoop RPC是hadoop里非常基礎(chǔ)的通信框架。hadoop 2.0以前hadoop RPC的數(shù)據(jù)序列化是通過實現(xiàn)自己定義的Writable接口實現(xiàn),而從hadoop 2.0開始,數(shù)據(jù)的序列化工作交給了ProtocolBuffer去做。關(guān)于Hadoop RPC的實現(xiàn)原理已經(jīng)有很多文章進行了詳細(xì)的介紹(源碼級強力分析hadoop的RPC機制,Hadoop基于Protocol Buffer的RPC實現(xiàn)代碼分析-Server端,帶有HA功能的Hadoop Client端RPC實現(xiàn)原理與代碼分析),這里就不在贅述了。下面就直接引入問題和方案吧。 問題 工作中經(jīng)常需要在定時任務(wù)系統(tǒng)上寫一些定時任務(wù),隨著業(yè)務(wù)規(guī)模的增長和擴大,需要定時處理的任務(wù)越來越多,任務(wù)之間的執(zhí)行間隔越來越小,某一時間段內(nèi)(比如0點、整點或半點)執(zhí)行的任務(wù)會越來越密集,只在一臺機器上執(zhí)行這些任務(wù)的話,會出現(xiàn)較大的風(fēng)險: 任務(wù)并發(fā)度較高時,單機的系統(tǒng)資源將成為瓶頸 如果一個任務(wù)的運行占用了整個機器的大部分資源,比如sql查詢耗費巨大內(nèi)存和CPU資源,將直接影響其他任務(wù)的運行 任務(wù)失敗后,如果仍然在同一臺節(jié)點自動重新執(zhí)行,失敗率較高 機器宕機后,必須第一時間重啟機器或重新部署定時任務(wù)系統(tǒng),所有任務(wù)都不能按時執(zhí)行 等等 方案 可想而知的是,可以通過將定時任務(wù)系統(tǒng)進行分布式改造,使用多個節(jié)點執(zhí)行任務(wù),將任務(wù)分發(fā)到不同節(jié)點上進行處理,并且完善失敗重試機制,從而提高系統(tǒng)穩(wěn)定性,實現(xiàn)任務(wù)系統(tǒng)的高可靠。 既然是在多個節(jié)點之間分發(fā)任務(wù),肯定得有個任務(wù)的管理者(主節(jié)點),在我們現(xiàn)有的系統(tǒng)中,也就是一套可以部署定時任務(wù)的web系統(tǒng),任務(wù)代碼更新后,部署好這套web系統(tǒng),即可通過web頁面設(shè)置定時任務(wù)并且進行調(diào)度(在單個節(jié)點上執(zhí)行)。執(zhí)行任務(wù)的節(jié)點(子節(jié)點)有多個以后,如何分發(fā)任務(wù)到子節(jié)點呢,我們可以把任務(wù)的信息封裝成一個bean,通過RPC發(fā)布給子節(jié)點,子節(jié)點通過這個任務(wù)bean獲得任務(wù)信息,并在指定的時刻執(zhí)行任務(wù)。同時,子節(jié)點可以通過與主節(jié)點的心跳通信將節(jié)點狀態(tài)和執(zhí)行任務(wù)的情況告訴主節(jié)點。這樣其實就與hadoop mapreduce分發(fā)任務(wù)有點相似了,呵呵,這里主節(jié)點與子節(jié)點之間的通信,我們就可以通過Hadoop RPC框架來實現(xiàn)了,不同的是,我們分發(fā)的任務(wù)是定時任務(wù),發(fā)布任務(wù)時需要將任務(wù)的定時信息一并發(fā)給子節(jié)點。 實現(xiàn) 單點的定時任務(wù)系統(tǒng)是基于Quartz的,在分布式環(huán)境下,可以繼續(xù)基于Quartz進行改造,任務(wù)的定時信息可以通過Quartz中的JobDetail和Trigger對象來描述并封裝,加上任務(wù)執(zhí)行的入口類信息,再通過RPC由主節(jié)點發(fā)給子節(jié)點。子節(jié)點收到封裝好的任務(wù)信息對象后,再構(gòu)造JobDetail和Trigger,設(shè)置好啟動時間后,通過入口類啟動任務(wù)。下面是一個簡單的demo。 以下是一個簡單的定時任務(wù)信息描述對象CronJobInfo,包括JobDetailInfo和TriggerInfo兩個屬性: 任務(wù)信息JobDetailInfo,由主節(jié)點構(gòu)造,子節(jié)點解析構(gòu)造JobDetail對象: 任務(wù)觸發(fā)器信息TriggerInfo ,由主節(jié)點構(gòu)造,子節(jié)點解析構(gòu)造Trigger對象: 主從節(jié)點通信的協(xié)議: 在這個demo中,主節(jié)點啟動后,啟動RPC server線程,等待客戶端(子節(jié)點)的連接,當(dāng)客戶端調(diào)用heartbeat方法時,主節(jié)點將會生成一個任務(wù)信息返回給客戶端: demo任務(wù)類,打印信息: 子節(jié)點demo,啟動后連接主節(jié)點,遠(yuǎn)程調(diào)用generateCronJob方法,獲得一個任務(wù)描述信息,并啟動定時任務(wù) 先啟動TaskScheduler,再啟動TaskRunner,結(jié)果如下: TaskScheduler: 2013-01-20 15:42:21,661 [Socket Reader #1 for port 8888] INFO? [org.apache.hadoop.ipc.Server] – Starting Socket Reader #1 for port 8888 2013-01-20 [...]

    聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    將HadoopRPC框架應(yīng)用于多節(jié)點任務(wù)調(diào)度

    將HadoopRPC框架應(yīng)用于多節(jié)點任務(wù)調(diào)度:在hadoop中,主從節(jié)點之間保持著心跳通信,用于傳輸節(jié)點狀態(tài)信息、任務(wù)調(diào)度信息以及節(jié)點動作信息等等。 hdfs的namenode與datanode,mapreduce的jobtracker與tasktracker,hbase的hmaster與 regionserver之間的通信,都是基于hadoop RP
    推薦度:
    標(biāo)簽: 任務(wù) rpc 節(jié)點
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 晋中市| 香河县| 五莲县| 东乌珠穆沁旗| 乌兰察布市| 辽源市| 崇信县| 天峨县| 银川市| 忻州市| 芜湖县| 寻甸| 汉沽区| 沙雅县| 墨竹工卡县| 察隅县| 墨脱县| 崇阳县| 夏津县| 西和县| 波密县| 崇义县| 嘉荫县| 慈溪市| 太仆寺旗| 浦江县| 玉田县| 澳门| 常州市| 大余县| 康乐县| 长丰县| 冕宁县| 龙里县| 丰城市| 汉中市| 商丘市| 葫芦岛市| 积石山| 渝北区| 南陵县|