Search code examples
javahadoopclouderaooziehue

How to use fat jar for different hue workflows


My intention is to use one fat jar for many different hue managed oozie jobs by calling its different main classes.

Everything works just fine if I put it in every respective workflow directory like this:

/user/hue/oozie/workspaces/hue-oozie-1439883696.08/myJobs.jar

But I cant figure out where I am supposed to put it, so all workflows can access it. Always getting an java.lang.ClassNotFoundException, as oozie cant find the jar.

/user/hue/oozie/workspaces/workflows/jobname/lib/myJobs.jar

looked promising, but doesn't seem to be right, too.


Solution

  • Do You have Installed Shared Lib for Oozie, I belive You having Shared Lib Enabled by parameter like "

    oozie.use.system.libpath = true

    in the properties of Jobs, after Instaling Shared Lib Location in HDFS and place the Jar It Will Work.

    Also Anothere Option: Check The Hadoop ClassPath Confiuration. If The Fat Jar Local Location,is available in Local Nodes and the CLassPath need to be updated with the Same Local location and hadoop need to be restart to take the effect, then start the Oozie Job, and check Job Console the Required Jar should be reflecting there.