我的 Java 应用程序在 mapper 上运行并使用 Qubole API 创建子进程。应用程序存储子 qubole 查询 ID。我需要在退出前拦截终止信号并关闭子进程。hadoop job -kill jobId
并且yarn application -kill applicationId
命令正在以 SIGKILL 方式杀死工作,我不知道如何拦截关机。是否可以以某种方式拦截作业终止或配置 hadoop 以使应用程序有机会正常关闭?
应用程序在本地运行时成功拦截了使用ShutdownHook
,而不是在映射器容器中并且能够杀死它的子进程。
请建议在映射器中运行时如何拦截关机,或者我做错了什么?