hadoop作業執行的概念介紹
hadoop框架將作業分成若干小任務(task),包括map任務和reduce任務,其中reduce任務由作業提交者明確指定,框架預設為只有乙個reduce任務
hadoop框架通過兩類節點控制作業的執行過程,這兩類節點是jobtracker和tasktracker節點。
1'jobtracker通過排程tasktracker上執行的任務來協調執行在系統上的作業
2'tasktracker在協調本身map任務或者reduce任務的同時,向jobtracker報告其下的map任務和reduce任務的進度
3'如果tasktracker中的某個任務失敗了,jobtracker在另外的tasktracker上重新執行失敗的任務
乙個mapreduce作業的一生歷程。
1.客戶端執行乙個作業(job),乙個作業是乙個執行單元,作業的三要素是,輸入資料,mapreduce程式和配置資訊。
2.框架先檢查輸入的檔案是否合法,輸出目錄是否存在,存在則作業退出執行。
3.向jobtracker申請乙個新的jobid
4.客戶端將作業**,配置資訊以及其它一些相關資訊拷貝到hdfs檔案系統中,這樣作業的所有任務都可以快速獲取和該作業相關的所有資料。
5.客戶端提交作業(submit),jobtracker初始化該作業
6.jobtracker獲取該作業的輸入分片訊息,這裡並不實際獲取塊資料,只是獲取塊的大小,和每一塊的位置資訊。jobtracker根據這些資訊,生成map任務和reduce任務,使map任務盡可能的實現本地化執行,獲取最快的執行速度。
7.tasktracker初始化執行環境,包括獲取mapreduce程式,分片資料和配置資訊,同時生成map任務或者reduce任務的jvm執行環境
8.map任務在tasktracker生成的jvm下執行,讀取分片資料,執行map函式指定的計算,將輸出結果儲存在本地檔案系統中
9.reduce任務將執行完成map任務的結果拷貝到reduce執行機器上,這需要網路流量,所以一般對map輸出結果進行壓縮都可以提高作業的效率。同時reduce運算不具有本地化優勢,reduce任務將運算結果存入hdfs中。
10.jobtracker告訴客戶端該作業完成
一步一步學習hadoop(五)
hadoop分布式檔案系統 hdfs 首先介紹一下hdfs的特點 1.擅長處理大檔案,超大檔案。幾十g甚至pb級別的檔案 2.擅長流式資料訪問,一次寫入多次讀取是最高效的訪問模式 3.可以執行在普通的機器上,一般只要求記憶體是ecc記憶體,可以對資料進行糾錯。4.擅長執行非實時的分析或者是近實時的資...
一步一步學習IdentityServer3 8
identityserver3結合hangfire及cookies中介軟體實現授權 idr3資料庫token過期管理 globalconfiguration.configuration.usesqlserverstorage hangfire globalconfiguration.configur...
一步一步學習IdentityServer3 4
其實上述例子 很多都很找到 但是在實際生態環境中給例子有很多不一樣的地方 比如自定已登入介面怎麼做?怎麼訪問自己的使用者資料庫實現登入?怎麼在介面中使用,在介面中又怎麼實現與idr3結合授權?等等問題 解下來我會在實際專案中整體一步一步介紹 1 這是我自定義登入的介面 2 在授權同意頁面 3 下圖是...