These instructions install and run Oozie using an embedded Tomcat server and an embedded Derby database.
For detailed install and configuration instructions refer to Oozie Install .
JDK commands (java, javac) must be in the command path.
The Maven command (mvn) must be in the command path.
Download a source distribution of Oozie from the "Releases" drop down menu on the Oozie site .
Expand the source distribution tar.gz and change directories into it.
The simplest way to build Oozie is to run the mkdistro.sh script:
If you'd like to skip all of the tests, which can take some time:
$ bin/mkdistro.sh -DskipTestsRunning mkdistro.sh will create the binary distribution of Oozie.
IMPORTANT: By default it builds against Hadoop 1.1.1. It's possible to build against Hadoop 2.x versions as well, but it is strongly recommend to use a Bigtop distribution if using Hadoop 2.x because the Oozie sharelibs built from the tarball distribution will not work with it.
More details on building Oozie can be found on the Building Oozie page.
The Java 1.6+ bin directory should be in the command path.
IMPORTANT: Oozie ignores any set value for OOZIE_HOME , Oozie computes its home automatically.
NOTE: The ExtJS library is not bundled with Oozie because it uses a different license.
NOTE: It is recommended to use a Oozie Unix user for the Oozie server.
Expand the Oozie distribution tar.gz .
Expand the Hadoop distribution tar.gz (as the Oozie Unix user).
NOTE: Configure the Hadoop cluster with proxyuser for the Oozie process.
The following two properties are required in Hadoop core-site.xml:
<!-- OOZIE --> <property> <name>hadoop.proxyuser.[OOZIE_SERVER_USER].hosts</name> <value>[OOZIE_SERVER_HOSTNAME]</value> </property> <property> <name>hadoop.proxyuser.[OOZIE_SERVER_USER].groups</name> <value>[USER_GROUPS_THAT_ALLOW_IMPERSONATION]</value> </property>
Replace the capital letter sections with specific values and then restart Hadoop.
Expand the Oozie hadooplibs tar.gz in the same location Oozie distribution tar.gz was expanded. A *hadooplibs/* directory will be created containing the Hadoop JARs for the versions of Hadoop that the Oozie distribution supports.
The ExtJS library is optional (only required for the Oozie web-console to work)
IMPORTANT: all Oozie server scripts (=oozie-setup.sh=, oozied.sh , oozie-start.sh , oozie-run.sh and oozie-stop.sh ) run only under the Unix user that owns the Oozie installation directory, if necessary use sudo -u OOZIE_USER when invoking the scripts.
As of Oozie 3.3.2, use of oozie-start.sh , oozie-run.sh , and oozie-stop.sh has been deprecated and will print a warning. The oozied.sh script should be used instead; passing it start , run , or stop as an argument will perform the behaviors of oozie-start.sh , oozie-run.sh , and oozie-stop.sh respectively.
Create a libext/ directory in the directory where Oozie was expanded.
If using a version of Hadoop bundled in Oozie hadooplibs/ , copy the corresponding Hadoop JARs from hadooplibs/ to the libext/ directory. If using a different version of Hadoop, copy the required Hadoop JARs from such version in the libext/ directory.
If using the ExtJS library copy the ZIP file to the libext/ directory.
A "sharelib create -fs fs_default_name [-locallib sharelib]" command is available when running oozie-setup.sh
for uploading new sharelib into hdfs where the first argument is the default fs name
and the second argument is the Oozie sharelib to install, it can be a tarball or the expanded version of it.
If the second argument is omitted, the Oozie sharelib tarball from the Oozie installation directory will be used.
Upgrade command is deprecated, one should use create command to create new version of sharelib.
Sharelib files are copied to new lib_
"prepare-war [-d directory]" command is for creating war files for oozie with an optional alternative directory other than libext.
db create|upgrade|postupgrade -run [-sqlfile
Run the oozie-setup.sh script to configure Oozie with all the components added to the libext/ directory.
$ bin/oozie-setup.sh prepare-war [-d directory] [-secure] sharelib create -fs <FS_URI> [-locallib <PATH>] sharelib upgrade -fs <FS_URI> [-locallib <PATH>] db create|upgrade|postupgrade -run [-sqlfile <FILE>]
The -secure option will configure Oozie to use HTTP (SSL); refer to Setting Up Oozie with HTTPS (SSL) for more details.
Create the Oozie DB using the 'ooziedb.sh' command line tool:
$ bin/ooziedb.sh create -sqlfile oozie.sql -runValidate DB Connection. DONE Check DB schema does not exist DONE Check OOZIE_SYS table does not exist DONE Create SQL schema DONE DONE Create OOZIE_SYS table DONE Oozie DB has been created for Oozie version '3.2.0' $
Start Oozie as a daemon process run:
$ bin/oozied.sh start
To start Oozie as a foreground process run:
$ bin/oozied.sh run
Check the Oozie log file logs/oozie.log to ensure Oozie started properly.
Using the Oozie command line tool check the status of Oozie:
$ bin/oozie admin -oozie http://localhost:11000/oozie -status
Using a browser go to the Oozie web console , Oozie status should be NORMAL .
Refer to the Running the Examples document for details on running the examples.
The Java 1.6+ bin directory should be in the command path.
Copy and expand the oozie-client TAR.GZ file bundled with the distribution. Add the bin/ directory to the PATH .
Refer to the Command Line Interface Utilities document for a a full reference of the oozie command line tool.
NOTE: The Oozie server installation includes the Oozie client. The Oozie client should be installed in remote machines only.
Expand the oozie-sharelib TAR.GZ file bundled with the distribution.
The share/ directory must be copied to the Oozie HOME directory in HDFS:
$ hadoop fs -put share share
IMPORTANT: This must be done using the Oozie Hadoop (HDFS) user. If a share directory already exists in HDFS, it must be deleted before copying it again.
See the Workflow Functional Specification for more information about the Oozie ShareLib.