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:
- HBase
- Hive
- Pig
- 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:
- hadoop-client
- hadoop-minicluster (Needed for tests)
Oozie Build System Issues
The Ooize build system is pretty rigid and is not easily 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.