精华内容
下载资源
问答
  • Kill yarn application script [root@bdpnamenodemaster edw]# cat kill_app.sh #!/usr/bin/env bash for jobId in `yarn application -list 2>/dev/null | tail -n +3 | grep "RUNNING" | awk '{print $1}'` ;...

    Kill yarn application script

    [root@bdpnamenodemaster edw]# cat kill_app.sh 
    #!/usr/bin/env bash
    
    for jobId in `yarn application -list 2>/dev/null | tail -n +3 | grep "RUNNING" | awk '{print $1}'` ; do
      finishTime=`yarn application -status $jobId 2>/dev/null | grep "Finish-Time" | awk '{print $NF}'`
      if [ $finishTime -ne 0 ]; then
        echo "===> application $jobId is finished"
      else
        startTime=`yarn application -status $jobId 2>/dev/null | grep "Start-Time" | awk '{print $NF}'`
        now=`date +%s`
        timeDiff=$[now-startTime/1000]
        timeDiffInMins=$[timeDiff/60]
    
        echo "===> application $jobId is running for $timeDiffInMins min(s)"
    
        if [ $timeDiffInMins -gt 120 ]; then
          echo "===> kill application $jobId which running more than 2 hours"
          yarn application -kill $jobId
        else
          echo "===> application $jobId should continue to run"
        fi
      fi
    done
    
    展开全文
  • 批量Kill yarn 任务

    千次阅读 2018-12-04 19:11:45
    # 删除处于ACCEPTED状态的任务for i in `yarn application -list | grep -w ACCEPTED | awk '{print $1}' | grep application_`; do yarn application -kill $i; done


    # 删除处于ACCEPTED状态的任务
    for i in  `yarn application  -list | grep -w  ACCEPTED | awk '{print $1}' | grep application_`; do yarn  application -kill $i; done

    展开全文
  • yarn application -kill application_id yarn kill 超时任务脚本 需求:killyarn上超时的任务,实现不同队列不同超时时间的kill机制,并带有任务名的白名单功能 此为python脚本,可配置crontab使用...
    需求:kill 掉yarn上超时的任务,实现不同队列不同超时时间的kill机制,并带有任务名的白名单功能

    此为python脚本,可配置crontab使用

    # _*_ coding=utf-8 _*_
    # !/usr/bin/python
    import re
    import commands
    import time
    
    run_app_arr = []
    timeout_app_arr = []
    ONE_HOURE = 1
    THREE_HOURE = 3
    TEST_QUEUE_NAME = ['hue', 'etl-test']
    ONLINE_QUEUE_NAME = ['default']
    KILL_WHITE_LIST = ['org.apache.spark.sql.hive.thriftserver.HiveThriftServer2']
    DINGDING_URL = 'xxx'
    ding_cmd = """ curl %s -H 'Content-Type: application/json' -d '{"msgtype": "text", "text": {"content": "== YARN OVERTIME JOB KILL 告警 ==\n\n 当前时间: %s \n kill_app_id: %s \n kill_app_name: %s \n kill_app_queue: %s "}}' """
    f = None
    try:
        f = open('/home/hadoop/autokillhadoopjob/check_timeout_job.log', 'a')
        commond = '. /etc/profile && yarn application -list | grep "http://" |grep "RUNNING" |cut -f1,2,5'
        # 获得正在运行job的id,name,queue 加到 run_app_arr
        status, output = commands.getstatusoutput(commond)
        f.write('#' * 50 + '\n')
        f.write('=> start_time: %s \n' % (time.strftime('%Y-%m-%d %H:%M:%S')))
        if status == 0 :
            for line in output.split('\n'):
                if line.startswith('application_'):
                    app_line = re.split('\t', line)
                    running_app_id = app_line[0].strip()
                    running_app_name = app_line[1].strip()
                    app_queue = app_line[2].strip()
                    # 根据所在队列 筛选出app加到数组中
                    if app_queue in TEST_QUEUE_NAME or app_queue in ONLINE_QUEUE_NAME:
                        run_app_arr.append((running_app_id, running_app_name, app_queue))
        else:
            f.write('yarn -list 执行失败. status: %s.'%(status))
    
        # 遍历所有队列的running job,如有超时加到timeout_app_arr
        for run_app in run_app_arr:
            running_app_id = run_app[0]
            running_app_name = run_app[1]
            running_app_queue = run_app[2]
            commond = ". /etc/profile && yarn application -status " + running_app_id + "| grep 'Start-Time' | awk -F ':' '{print $2}'"
            status, output = commands.getstatusoutput(commond)
            if status == 0:
                for line in output.split('\n'):
                    start_timestamp = line.strip()
                    if start_timestamp.isdigit():
                        # 计算任务耗时
                        elapsed_time = time.time() - int(start_timestamp) / 1000
                        cost_time = round(elapsed_time / 60 / 60, 2)
                        f.write('=> cost_time: %sh \n' % (cost_time))
                        # print cost_hour
                        # 筛选出超时的job 加到数据组中/过滤掉白名单任务
                        if running_app_name not in KILL_WHITE_LIST:
                            if (running_app_queue in TEST_QUEUE_NAME and cost_time > ONE_HOURE) \
                                    or (running_app_queue in ONLINE_QUEUE_NAME and cost_time > THREE_HOURE):
                                # if cost_hour > 0:# 测试
                                f.write('=> timeout app => %s # %s # %s\n' % (running_app_id, running_app_name, running_app_queue))
                                timeout_app_arr.append((running_app_id, running_app_name, running_app_queue))
            else:
                f.write('yarn -status 执行失败. status: %s.'%(status))
    
        if len(timeout_app_arr) == 0:
            f.write('=> no timeout job.\n')
    
        # kill掉超时的job 并dingding报警
        for kill_app in timeout_app_arr:
            kill_app_id = kill_app[0]
            kill_app_name = kill_app[1]
            kill_app_queue = kill_app[2]
            commond = '. /etc/profile && yarn application -kill ' + kill_app_id
            status, output = commands.getstatusoutput(commond)
            if status == 0:
                f.write('=> kill app sucessfully: %s # %s # %s.\n' % (kill_app_id, kill_app_name, kill_app_queue))
                current_time = time.strftime('%Y-%m-%d %H:%M:%S')
                cmd = ding_cmd % (DINGDING_URL, current_time, kill_app_id, kill_app_name, kill_app_queue)
                commands.getstatusoutput(cmd)
            else:
                f.write('=> kill app failed: %s # %s # %s.\n' % (kill_app_id, kill_app_name, kill_app_queue))
    
        f.write('=> stop_time: %s \n' % (time.strftime('%Y-%m-%d %H:%M:%S')))
    
    except Exception as e:
        f.write('=> Exception: %s \n' % (e.message))
    finally:
        if f:
            f.close()
    
    posted on 2018-09-14 19:59 姜小嫌 阅读(...) 评论(...) 编辑 收藏

    转载于:https://www.cnblogs.com/jiangxiaoxian/p/9648545.html

    展开全文
  • yarn-kill进程

    千次阅读 2018-12-20 20:09:37
    [转载]...yarn kill 进程。 在yarn节点上执行: $ yarn application -kill application_Id 如下: $ yarn application -kill application_1544781827644_21347 ...

    [转载]https://blog.csdn.net/oufuji/article/details/50332449

    yarn kill 进程。

    在yarn节点上执行:

    $ yarn application -kill application_Id

    如下:

    $ yarn application -kill application_1544781827644_21347
    
    展开全文
  • hadoop job -kill 调用的是CLI.java里面的job.killJob(); 这里会分几种情况,如果是能查询到状态是RUNNING的话,是直接向AppMaster发送kill请求的。YARNRunner.java @Override public void killJob...
  • hadoop job -killyarn application -kii 问题详情 解决办法  有时候上述这样kill做下来,并不管用,得再来 ...
  • 需求:killyarn上超时的任务,实现不同队列不同超时时间的kill机制,并带有任务名的白名单功能 此为python脚本,可配置crontab使用 # _*_ coding=utf-8 _*_ # !/usr/bin/python import re import commands ...
  • killyarn上运行的job

    千次阅读 2019-03-22 18:51:39
    CDH中kill application的方式:(非cdh也同样的操作) 1、找到yarn命令,如果命令没有可执行权限,那么需要添加#sudo chmod +x bin 2、找到job的id:通过点击cloudrea manager中的主机-----》host27.maste...
  • hdfs yarn kill 任务

    2019-12-26 11:44:32
    hdfs kill 任务 先说结论 ...yarn application -kill application_1571706429831_129599 这个命令来kill job 起因 使用hadoop distcp 提交了一个拷贝任务 中途用ctrl+c取消了 然后去删除拷贝了一...
  • yarn批量kill任务

    2020-10-15 10:38:42
    — 删除所有ACCEPTED任务 for i in yarn ... do yarn application -kill $i; done — 删除所有RUNNING任务 for i in yarn application -list | grep -w RUNNING | awk '{print $1}' | grep application_; do y
  • yarn application -list 查询所有的任务 然后使用yarn application -kill
  • hadoop job -kill 调用的是CLI.java里面的job.killJob(); 这里会分几种情况,如果是能查询到状态是RUNNING的话,是直接向AppMaster发送kill请求的。YARNRunner.java@Overridepublic void killJob(JobID arg0) throws...
  • killyarn正在运行的job

    万次阅读 2014-12-26 10:41:48
    yarn的安装目录下的bin文件夹中,运行命令./yarn application -status application_1416899352676_0008。具体的命令格式可以通过执行./yran获取
  • killyarn正在运行的job/app

    千次阅读 2015-07-29 12:19:29
    启动一个spark streaming,一直在跑,看着烦人,直接杀掉cd /usr/lib/hadoop-yarn..../yarn application -kill application_1436784252938_0013查看状态: ./yarn application -status application_1436784252938_0013
  • Yarn管理的MapReduce、Spark并行化任务Kill [root@bdpcm01 ~]# yarn application -kill application_1548925847050_1635244 Killing application application_1548925847050_1635244 Yarn Shell [root@...
  • 就是代码模式,执行任务就可以killyarn上的Flink任务。并且能自动生成savapoint 三,我们需要写入的参数是: 1)yarn任务id String appId = "application_1600222031782_0023"; 2)Flink任务的jobId ...
  • [Yarn基础]-- yarn application -kill jobid

    万次阅读 2016-07-18 13:06:14
    CDH中kill application的方式: 1、找到yarn命令,如果命令没有可执行权限,那么需要添加#sudo chmod +x bin 2、找到job的id:通过点击cloudrea manager中的主机-----》host27.master---->点击  红框 ...
  • 1,因为经常提交任务,需要吧老任务kill掉,在提交新的任务,所以自己写了一个shell命令,支持yarn的ApplicatinName和ApplicationId任务kill,具体代码如下: #!bin/bash/ #用法 sh kill_application.sh ...
  • 工作中常用到的命令,记录一下 将任务运行的日志写入文件方便查看 yarn logs -applicationId applicationxxxxxx > xxxxxx.log 将运行的任务杀掉 yarn application -kill applicationxxxxxx
  • yarn application -kill jobid

    2019-04-12 11:17:51
    CDH中kill application的方式: 1、找到yarn命令,如果命令没有可执行权限,那么需要添加#sudo chmod +x bin 2、找到job的id:通过点击cloudrea manager中的主机-----》host27.master---->点击 红框 ----》...
  • 1、直接在服务器上执行命令 先在监控平台上查到正在跑的脚本的 ...yarn application -list | grep 主文件名 | grep -v grep | awk '{print $1}' | xargs yarn application -kill 3、补充 1)yarn 批量 kill
  • spark on yarn-kill正在跑进程

    万次阅读 2015-12-16 20:12:48
    spark on yarn-kill正在跑进程 spark-kill-running-application http://stackoverflow.com/questions/29565716/spark-kill-running-application Yarn RM Application管理页面: 插图: 在yarn...
  • 将Flink Job提交到Yarn上运行,命令行中指定:-p 3 –yts 1,那么便会启动一个拥有3个TaskManager的Flink集群,在Yarn中对应的就是3个container。 但是运行一段时间后发现其中某个Container会反复重新启动,如下图...
  • 但是比较不幸的一点,目前Yarnkill应用的操作上还没有提供批处理的方式,只有最简单的kill+appID的形式,都是单一的操作,所以会造成最后"应用是kill掉了,但是花了半个小时时间."这样的结果.所以本文就来分析一下...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 435
精华内容 174
关键字:

killyarn