开发者社区> 问答> 正文

为什么在hadoop Shell终端停不了job?

为什么在hadoop Shell终端停止运行还停不了job?

展开
收起
封神 2016-04-08 19:37:59 2487 0
1 条回答
写回答
取消 提交回答
  • 专注在大数据分布式计算、数据库及存储领域,拥有13+年大数据引擎、数据仓库、宽表引擎、平台研发经验,6年云智能大数据产品技术一号位经验,10年技术团队管理经验;云智能技术架构/云布道师; 研发阿里历代的大数据技术产品包括ODPS、DLA、ADB,最近五年主导宽表引擎研发、DLA、ADB湖仓研发;

    在你提交job之后, 在终端的JobClient只是打印job执行的进度, 真正控制job运行状况的是E-Mapreduce服务器端的YARN的ResourceManager. 你需要给ResourceManager发送一个指令才能停止这个job:

    hadoop job -kill job_id
    而如果你只是在终端用 Ctrl+C 停止客户端的执行是不会发送这条指令的, 所以就不会停止job. 同时, 有时候shell终端因为某种原因(比如 connection session超时)断开了与Linux主机的联系, 你的job还是能正常执行, 只是这时你需要在 WebUI 上才能查看作业运行的进度.

    2019-07-17 18:39:57
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
《构建Hadoop生态批流一体的实时数仓》 立即下载
零基础实现hadoop 迁移 MaxCompute 之 数据 立即下载
CIO 指南:如何在SAP软件架构中使用Hadoop 立即下载