雖然Apache tez重複使用容器,但過程發生了什麼。任何人都可以解釋清楚嗎?Apache Tez中的容器重用如何工作?在重複使用共享位置中存儲的數據時?
1
A
回答
1
請點擊這裏閱讀Hortonworks(最顯著TEZ貢獻者)文檔:https://hortonworks.com/blog/re-using-containers-in-apache-tez/
在TEZ每個頂點指定參數,這些參數啓動容器時使用。這些包括所請求的資源(內存,CPU等),YARN LocalResources,環境以及屬於此Vertex的任務的命令行選項。當一個容器首次啓動時,它會針對特定的任務啓動並使用爲該任務指定的參數(或頂點) - 這將成爲容器的簽名。當正在運行的容器的簽名是任務所需的超集時,已經運行的容器被認爲與另一個任務兼容。
的TEZ調度與幾個參數工作承擔的任務分配的決定 - 任務地區的要求,集裝箱的兼容性如上所述,集羣,以及未決任務請求的優先級上總的可用資源。
當任務完成時,運行該任務的容器變得可供重用 - 可能不會立即爲其分配任務 - 因爲任務可能不存在,對於該任務,數據對於容器的節點是本地的。 Tez調度器首先試圖找到一個任務,這個任務的數據對於容器來說是本地的。如果不存在這樣的任務,那麼在實際將任何未決任務分配給此容器之前,調度程序會在特定時間內保留該容器。
每個TEZ JVM(或容器)包含一個對象的高速緩存,其可以被用來共享同一容器內運行的不同任務之間的數據。這是一個簡單的Key-Object存儲,具有不同級別的可見性/保留。對象可以緩存屬於同一個頂點,爲DAG中的所有任務的任務範圍內使用,併爲任務跨越TEZ會話中運行(詳見會議在隨後的後)。
相關問題
- 1. 如何使用共享首選項重置所有存儲的數據存儲
- 2. 使用共享存儲器
- 3. 使用Docker容器時,共享Python庫存儲在哪裏?
- 4. 共享內容時重複條目
- 5. 存儲數據的重複
- 6. 將數據存儲在共享首選項中不起作用
- 7. 使用共享工作器的Chrome中的內存泄漏?
- 8. 露天分享在露天存儲庫中共享文檔重複的問題
- 9. 如何在數據庫中存儲具有重複值的值
- 10. 如何不重複存儲在數據庫中的值
- 11. 使用共享內存來緩存數據的Apache Ignite Cache
- 12. 如何使用重複格式存儲整數數據?
- 13. 模擬器中未顯示可重複使用/共享視圖
- 14. 共享的CloudKit容器如何分配數據使用量?
- 15. 用戶在使用v2.0公共端點時存儲的位置
- 16. 如何在Azure緩存中重複使用DataCacheFactory(共址)
- 17. 相同位置的重複值在PHP數組中重複使用foreach循環
- 18. 將文件存儲在Android中的共享位置
- 19. 如何使用appcfg.py將重複的屬性上傳到ndb數據存儲中
- 20. Google AppEngine數據存儲區配置:可重複使用?
- 21. 重複屬性索引如何在數據存儲中使用ndb
- 22. 我如何使用UIActivityViewController共享位置?
- 23. 如何將數據表存儲在緩存中以重用它?
- 24. 如何使用共享首選項存儲數據
- 25. 共享共享數據存儲庫的數據卷
- 26. 如何使用SVN重置存儲庫
- 27. 如何避免GAE數據存儲中的重複?
- 28. 重複使用片段並獲取在android工作室中的標籤位置
- 29. 在unix中使用共享內存時
- 30. 無法重置Heroku共享數據庫