簡體   English   中英

Hadoop:從jobconf強制每個節點執行1個映射器任務

[英]Hadoop: force 1 mapper task per node from jobconf

我想在Hadoop集群上的每個節點上運行一個任務(映射器),但是我無法修改任務跟蹤器運行的配置(我只是一個用戶)。
因此,我需要能夠通過作業配置推送該選項。 我試圖在hadoop jar命令中設置mapred.tasktracker.map.tasks.maximum = 1,但tasktracker忽略了它,因為它在其配置文件中具有不同的設置。
順便說一句,群集使用容量調度程序。

有什么辦法可以強制每個節點執行1個任務?

編輯:為什么? 我有一個內存受限的任務,因此我希望每個任務都使用該節點可用的所有內存。

通過配置文件或其他方式設置映射器的數量時,這只是對框架的提示。 它不能保證您只會得到指定數量的映射器。 映射器的創建實際上受拆分數的控制。 拆分創建由InputFormat持有的邏輯執行。 如果您確實只希望使用一個映射器來處理整個文件,請在使用的InputFormat類中將“ issplittable”設置為true。 但是為什么要這樣做呢?hadoop的功能實際上在於分布式並行處理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM