From Fedora Project Wiki

< SIGs‎ | bigdata‎ | packaging
Revision as of 18:55, 28 January 2014 by Rrati (talk | contribs)

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 4.0 release building against the hadoop 2.2.0 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

Missing/Questionable Dependencies
Project State Review BZ Packager Notes
activemq Active samkottler 5.8.0 needed, 5.6.0 currently packaged
apache-log4j-extras Review RHBZ #747765 ke4qqq
collections-generic Available
colt Available Likely a dependency of a dependency
datanucleus-connectionpool Available
datanucleus-enhancer Available Part of datanucleus-core in the 3.x series packaged in Fedora. Needs to be investigated
genesis, genesis-default-flava, genesis-java5-flava Available
greenmail Available
hbase Complete RHBZ #1045556 rrati
hive/hcatalog Active pmackinn
json Available
jung2, jung-algorithms, jung-api, jung-graph-impl, jung-visualization Available
pig Active pmackinn
sqoop Available

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.

By default oozie will build for/against java 1.6. You can tell the build to build with 1.7 by setting javaVersion=1.7, and to build for 1.7 with targetJavaVersion=1.7.

Dependency Version Mismatches

Jetty

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

Tomcat

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.