在 Hadoop YARN 中,當捕捉到 SIGTERM 信號時,YARN 容器將退出。那么,如何檢測 YARN 容器何時即將結束并運行一些自定義代碼。如何將其注入 YARN 框架?
我正在尋找一種解決方案,特別是針對 YARN 上的 Spark,但也是適用于其他使用 YARN 的服務的通用解決方案(Tez 上的 Hive,MR)
uj5u.com熱心網友回復:
如果我們正在談論清理節點,請考慮使用:
yarn.nodemanager.localizer.cache.target-size-mb
yarn.nodemanager.localizer.cache.cleanup.interval-ms
在這里對這些屬性進行了很好的解釋。
uj5u.com熱心網友回復:
對于 SIGTERM 的真正自由,您可能想要深入研究紗線本身的代碼,以找出如何劫持或擴展紗線容器執行器本身以使其符合您的意愿。這意味著編譯您的代碼并將其部署到集群,但有一個名為BipTop的專案可以幫助您完成此類操作。
uj5u.com熱心網友回復:
如果......你不打算記錄很多并且想要記錄一點......你可以濫用累加器來進行投標并將資訊記錄給驅動程式。 這是一個很好的解釋/示例。它不是為記錄而設計的,但如果你真的很少使用它,比如少數專案,它就可以完成這項作業。累加器對于計算事物最有用。他們還將至少記錄一次計數。(如果 executor 死了并重新運行,它可能會計算兩次,所以要小心。)(它們是 mapper/reducers 的控制。)
更好地濫用字串累加器:您可以使用它來發布日志檔案的位置,以便稍后檢索檔案。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/330065.html
