blob: b86d6a1c813fdc97ecd9de66464bf39560ed3dd8 [file] [log] [blame]
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
A. Building & Installing Falcon
===============================
0. Prerequisites
------------------
You would need the following installed:
* JDK 1.7
* Maven 3.x
*Note:* To build Falcon on Ubuntu/Centos set umask to 022. To do so, add the following line in ~/.bashrc or
~/.bash_profile.
umask 022
1. Building Falcon
------------------
a. Building falcon from the source release
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* tar -xzvf apache-falcon-${project.version}-source.tar.gz
* cd falcon-sources-${project.version}
* export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=256m -noverify" && mvn clean install
[optionally -Dhadoop.version=<<hadoop.version>> can be appended to build for a specific version of hadoop]
*Note:* Falcon drops support for Hadoop-1 and only supports Hadoop-2 from Falcon 0.6 onwards
Falcon build with JDK 1.7 using -noverify option
To compile Falcon with Hive Replication, optionally "-P hadoop-2,hivedr" can be appended. For this
Hive >= 1.2.0 and Oozie >= 4.2.0 should be available.
b. Building falcon from the source repository
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* git clone https://git-wip-us.apache.org/repos/asf/falcon.git falcon
* cd falcon
* export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=256m -noverify" && mvn clean install
[optionally -Dhadoop.version=<<hadoop.version>> can be appended to build for a specific version of hadoop]
*Note:* Falcon drops support for Hadoop-1 and only supports Hadoop-2 from Falcon 0.6 onwards
Falcon build with JDK 1.7 using -noverify option
To compile Falcon with Hive Replication, optionally "-P hadoop-2,hivedr" can be appended. For this
Hive >= 1.2.0 and Oozie >= 4.2.0 should be available.
2. Deploying Falcon
-------------------
Once the build successfully completes, artifacts can be packaged for deployment.
By default the falcon is built for embedded mode.
* mvn clean assembly:assembly -DskipTests -DskipITs
Tar can be found in {project dir}/target/apache-falcon-${project.version}-bin.tar.gz
Tar is structured as follows
|- bin
|- falcon
|- falcon-start
|- falcon-stop
|- falcon-config.sh
|- service-start.sh
|- service-stop.sh
|- conf
|- startup.properties
|- runtime.properties
|- client.properties
|- log4j.xml
|- falcon-env.sh
|- docs
|- client
|- lib (client support libs)
|- server
|- webapp
|- falcon.war
|- hadooplibs
|- README
|- NOTICE.txt
|- LICENSE.txt
|- DISCLAIMER.txt
|- CHANGES.txt
3. Installing & running Falcon
------------------------------
a. Installing falcon
~~~~~~~~~~~~~~~~~~~~
* tar -xzvf apache-falcon-${project.version}-bin.tar.gz
* cd falcon-${project.version}
b. Starting Falcon Server
~~~~~~~~~~~~~~~~~~~~~~~~~
* bin/falcon-start
c. Using Falcon
~~~~~~~~~~~~~~~
* bin/falcon admin -version
Falcon server build version: {Version:"0.3-SNAPSHOT-rd7e2be9afa2a5dc96acd1ec9e325f39c6b2f17f7",Mode:"embedded"}
* bin/falcon help
(for more details about falcon cli usage)
d. Stopping Falcon Server
~~~~~~~~~~~~~~~~~~~~~~~~~
* bin/falcon-stop
4. Preparing oozie bundle for use with Falcon
---------------------------------------------
* cd <<project home>>
* src/bin/pacakge.sh <<hadoop-version>>
>> ex. src/bin/pacakge.sh 2.5.0
>> oozie bundle available in target/package/oozie-4.1.0/distro/target/oozie-4.1.0-distro.tar.gz