From Fedora Project Wiki

< SIGs‎ | bigdata‎ | packaging

Revision as of 17:22, 5 September 2013 by Rrati (talk | contribs) (Oozie Build System Issues)

This is a preliminary evaluation by the Big Data SIG of the work required to get Apache Oozie into Fedora. This work has been done based upon the 3.3 release building against the hadoop 2.0.5-alpha package in Fedora 20. There are likely more issues not discussed here that won't be discovered until more of the missing dependencies are packaged for Fedora.

Issues To Be Resolved

Missing Java Dependencies

Oozie depends on a number of other parts of the Hadoop ecosystem which are not in Fedora:

  1. HBase
  2. Hive
  3. Pig
  4. Sqoop

It additionally depends upon a number of Apache Hadoop jars which are not packaged in the hadoop rpm in F20 as of hadoop-2.0.5-8:

  1. hadoop-client
  2. hadoop-minicluster (Needed for tests)

Oozie Build System Issues

The Ooize build system is pretty rigid and does not seem configurable. For example the build seems to always want to build bits for hadoop 1.1.1 and hadoop 2.x even if a specific hadoop version is provided at build time. Similarly it does not seem possible to disable test compilation from command line options. It appears editing of the poms will be required to disable specific modules.

The hadoop versions are also hard coded in the pom files, but this shouldn't be an issue since Fedora's java build tools ignore version requests except in the case of compatibility packages.

Jetty Version

Oozie depends on jetty 6.1.14. Oozie will need to be updated to support the current version of jetty in Fedora.

Tomcat Version

Oozie depends on tomcat 6. Oozie will need to be updated to support the current version of tomcat in Fedora.

Webapp Configuration

Similar to Hadoop's HTTPFS, oozie downloads a copy of tomcat and uses that to create a specially configured tomcat configuration for oozie. This is will likely require the tomcat shell scripts. Is so then the webapp will not be able to be packaged in Fedora until the tomcat shell scripts are packaged.