您好,登錄后才能下訂單哦!
本篇內容介紹了“hadoop調度器及壓縮是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
作業的調度
調度器:
FIFO(first in first out)(早期版本使用)
按照作業提交的順序,使用FIFO(先進先出)調度算法來運算作業.
典型情況下,每個作業都會使用整個集群,因此作業必須等待,知道輪到自己運行.
隨后,假如設置作業優先級的功能,可以通過設置mapred.job.priority屬性或者
JobClient的setJobPriority()方法來設置優先級.(very_high,high,normal,low,very_low)
然而,在FIFO算法中,優先級并不支持搶占,所以高優先級的作業仍然會被那些低優先級的作業所阻塞.
在hadoopk中,MapReduce的調度器可以選擇,默認的調度器是原始的基于隊列的FIFO調度器,
還得有兩個多用戶調度器(Fair[公平] Scheduler和Capacity[能力,地位資格] Scheduler)
Fair Scheduler
公平調度器的目標是讓每個用戶公平的共享集群能力.這種方式根據作業的大小,在合理的時間內完成.
作業都被放在作業池中,默認情況,每個用戶都有自己的作業池.可以用map和reduce的任務槽來制定
作業池的最小容量,也可以設置每個池的權重. fair支持搶占,所以,如果一個池在特定的一段時間內
未得到公平的資源共享,它會終止運行池中得到過多資源的任務,以便把任務槽讓給運行資源不足的池.
公平調度器:
公平調度是一種賦予作業(job)資源的方法,它的目的是讓所有的作業隨著時間的推移,
都能平均的獲取等同的共享資源.
1.公平調度器按資源池 (pool) 來組織作業, 并把資源公平的分到這些資源池里。
2.公平調度器允許賦給資源池保證 (guaranteed) 最小共享資源.
3.公平調度器還可以限制每用戶和每資源池的并發運行作業數量。
安裝:
fair Scheduler是一個后續模塊,要使用它,需要將其jar文件放在hadoop的類路徑.
方法一:把fairscheduler.jar拷貝到hadoop_home/lib中
方法二:修改hadoop-env.sh中的hadoop-classpath,加入公平調度器的jar包
最后需要在mapred-site.xml設置下列屬性,讓hadoop使用公平調度器.
<property>
<name>mapred.jobtracker.taskScheduler</name>
<value>org.apache.hadoop.mapred.FairScheduler</value>
</property>
驗證:重啟集群后,可以通過JobTracker的web用戶界面中的 http://<jobtrackerURL>/scheduler
檢查公平調度器是否正在運行, 可以看到一個"job scheduler administration"頁面.就OK了.
Capacity Scheduler(容量調度器)
集群由很多隊列組成,每個隊列有一個分配的能力.在每個隊列內部,作業根據FIFO方式(優先級)進行調度.
本質上,Capacity Scheduler允許用戶或組織為每個用戶或者組織模擬一個獨立的使用FIFO的集群.
壓縮
文件壓縮的好處:
1.可以減少存儲文件所需要的磁盤空間.
2.可以加速數據在網絡和磁盤上的傳輸.
壓縮格式 工具 算法 文件擴展名 是否包含多文件 是否可切分 java實現 原生實現
DEFLATE N/A DEFLATE .deflate 否 否 是 是
Gzip gzip DEFLATE .gz 否 否 是 是
bzip2 bzip2 bzip2 .bz2 否 是 是 否
LZO Lzop LZO .lzo 否 否 否 是
“hadoop調度器及壓縮是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。