Ego
Ego

Reputation: 585

Is there a way to direct Oozie to kill all jobs?

I have tried

oozie job -oozie http://sandbox.hortonworks.com:11000/oozie -config ./job.properties -kill *

...to no effect. I have done a few Google searches and checked Oozie's documentation, and there does not appear to be a command for this.

Would any one know of a way to accomplish this?

Upvotes: 4

Views: 7222

Answers (4)

Ramesh
Ramesh

Reputation: 1

oozie jobs -oozie oozieURL -filter STATUS=RUNNING -kill

Upvotes: 0

Dennis Jaheruddin
Dennis Jaheruddin

Reputation: 21563

It seems that the recent versions of oozie (tested on 4.2) have made this a lot easier.

Here is a oneliner that I now use to kill all jobs that I created.

oozie jobs -oozie  http://myserver:11000/oozie -kill -filter user=dennis -jobtype bundle & oozie jobs -oozie  http://myserver:11000/oozie -kill -filter user=dennis -jobtype coordinator & oozie jobs -oozie  http://myserver:11000/oozie -kill -filter user=dennis

First it kills all bundles, then it kills all coordinators and finally all workflows. Note that I set a filter to my own username, as it appears to be mandatory to have a filter set.


Update: As mentioned in the comments by @Nutle:

Worth noting that (on 4.3 and win7 x64) the suggested command returned a syntax error, solved by enclosing the filter terms in quotes, i.e. oozie jobs <...> -kill -filter "user=dennis"

Upvotes: 10

Vikas Goyal
Vikas Goyal

Reputation: 1

Maybe you can use below type of code in python . It lists all running coordinator jobs in oozie and then kill them iteratively. You can modify if you want any another statuses as well for killing jobs . Define your oozieURL parameter (like http://localhost:11000/oozie)

import os , commands 

def killAllRunningJobs(oozieURL):
    runningJobs = commands.getoutput("oozie jobs -oozie " + oozieURL + " -jobtype coordinator | grep -i RUNNING |  awk -F \" \" '{print $1} " )
    print "Current Running Co-ordinator Jobs : " + runningJobs
    for jobs in runningJobs:
        os.system("oozie job -oozie " + oozieURL + " -kill " + jobs)

Upvotes: 0

patrungel
patrungel

Reputation: 841

To my knowledge there is no such command.

Try a shell script that lists the jobs (sadly, workflow jobs, coordinators and bundles should be listed separately), then greps the captions and fancy formatting out, cuts the job id and kills them one by one.

Upvotes: 2

Related Questions