Step 1 :- To install the Oozie server package on an Ubuntu and other Debian system:
$ sudo apt-get install oozie
Step 2 :- To install the Oozie client package on an Ubuntu and other Debian system:
$ sudo apt-get install oozie-client
Step 3 :- Configuring which Hadoop Version to Use
To use MRv1(without SSL) :
alternatives --set oozie-tomcat-conf /etc/oozie/tomcat-conf.http.mr1
Step 4 :- Edit /etc/oozie/conf/oozie-env.sh file and make the entry
export CATALINA_BASE=/var/lib/oozie/tomcat-deployment
Step 5 :- Start the Oozie server
$ sudo service oozie start
Step 6 :- Accessing the Oozie Server with the Oozie Client
The Oozie client is a command-line utility that interacts with the Oozie server via the Oozie web-services API.
Use the /usr/bin/oozie script to run the Oozie client.
For example, if you want to invoke the client on the same machine where the Oozie server is running:
$ oozie admin -oozie http://localhost:11000/oozie -status
System mode: NORMAL
To make it convenient to use this utility, set the environment variable OOZIE_URL to point to the URL of the Oozie server. Then you can skip the -oozie option.
For example, if you want to invoke the client on the same machine where the Oozie server is running, set the OOZIE_URL to http://localhost:11000/oozie.
$ export OOZIE_URL=http://localhost:11000/oozie
$ oozie admin -version
Oozie server build version: 4.0.0-cdh5.0.0
Step 7 :- Confiduring MySQL for Oozie
Step 1: Create the Oozie database and Oozie MySQL user.
For example, using the MySQL mysql command-line tool:
$ mysql -u root -p Enter password: ****** mysql> create database oozie; Query OK, 1 row affected (0.03 sec) mysql> grant all privileges on oozie.* to 'oozie'@'localhost' identified by 'oozie'; Query OK, 0 rows affected (0.03 sec) mysql> grant all privileges on oozie.* to 'oozie'@'%' identified by 'oozie'; Query OK, 0 rows affected (0.03 sec) mysql> exit Bye
Step 2: Configure Oozie to use MySQL.
Edit properties in the oozie-site.xml file as follows:
... <property> <name>oozie.service.JPAService.jdbc.driver</name> <value>com.mysql.jdbc.Driver</value> </property> <property> <name>oozie.service.JPAService.jdbc.url</name> <value>jdbc:mysql://localhost:3306/oozie</value> </property> <property> <name>oozie.service.JPAService.jdbc.username</name> <value>oozie</value> </property> <property> <name>oozie.service.JPAService.jdbc.password</name> <value>oozie</value> </property> ...
Step 3 : Creating the Oozie DatabaseSchema
$ sudo -u oozie /usr/lib/oozie/bin/ooziedb.sh create -sqlfile oozie-create.sql
or
$ sudo -u oozie /usr/lib/oozie/bin/ooziedb.sh create -run
Step 4 : Enabling the Oozie Web Console
To enable Oozie's web console, you must download and add the
ExtJS library to the Oozie server. If you have not
already done this, proceed as follows.
Step 4.1: Download the Library
Download the ExtJS version 2.2 library from http://archive.cloudera.com/gplextras/misc/ext-2.2.zip and place
it a convenient location.
Step 4.2: Install the Library
Extract the ext-2.2.zip file into /var/lib/oozie.
$ cd Downloads/
$ sudo cp -avr ext-2.2 /var/lib/oozie/Step 5 : Installing the Oozie Shared Library in Hadoop HDFS
The Oozie installation bundles the Oozie shared library, which contains
all of the necessary JARs to enable workflow jobs to run streaming, DistCp, Pig,
Hive, and Sqoop actions.
The Oozie installation bundles two shared libraries, one for
MRv1 and one for YARN. Make sure you install the right one for the MapReduce
version you are using:
- The shared library file for MRv1 is oozie-sharelib-mr1.tar.gz.
- The shared library file for YARN is oozie-sharelib-yarn.tar.gz.
sudo
-u oozie oozie admin -shareliblist -oozie http:
//localhost
:11000
/oozie
sudo
service oozie restart
To install the Oozie shared library in Hadoop HDFS in the oozie user home directory
$ sudo -u hdfs hadoop fs -mkdir /user/oozie$ sudo -u hdfs hadoop fs -chown oozie:oozie /user/oozie
$ sudo oozie-setup sharelib create -fs hdfs://localhost:8020 -locallib /usr/lib/oozie/oozie-sharelib-mr1
add the below line to oozie-site.xml to recognize the shared lib functionality
<property>
<name>oozie.service.HadoopAccessorService.hadoop.configurations</name>
<value>*=/etc/hadoop/conf</value>
<description>
Comma separated AUTHORITY=HADOOP_CONF_DIR, where AUTHORITY is the HOST:PORT of
the Hadoop service (JobTracker, HDFS). The wildcard '*' configuration is
used when there is no exact match for an authority. The HADOOP_CONF_DIR contains
the relevant Hadoop *-site.xml files. If the path is relative is looked within
the Oozie configuration directory; though the path can be absolute (i.e. to point
to Hadoop client conf/ directories in the local filesystem.
</description>
</property>
Configuring Support for Oozie Uber JARs
An uber JAR is a JAR that
contains other JARs with dependencies in a lib/ folder inside the JAR. You can
configure the cluster to handle uber JARs properly for the MapReduce action (as
long as it does not include any streaming or pipes) by setting the following
property in the oozie-site.xml
file:
... <property> <name>oozie.action.mapreduce.uber.jar.enable</name> <value>true</value> ...
When this property is set, users can use the oozie.mapreduce.uber.jar
configuration property in their MapReduce workflows to notify Oozie that the
specified JAR file is an uber JAR.
Configuring Oozie to Run against a Federated Cluster
To run Oozie against a federated HDFS cluster using
ViewFS, configure the oozie.service.HadoopAccessorService.supported.filesystems
property in oozie-site.xml as follows:
<property> <name>oozie.service.HadoopAccessorService.supported.filesystems</name> <value>hdfs,viewfs</value> </property>
Trouble shooting
sudo cp mysql-connector-java-5.1.35-bin.jar /var/lib/oozie/
[link]
No comments:
Post a Comment