Find file
Fetching contributors…
Cannot retrieve contributors at this time
96 lines (58 sloc) 2.59 KB
How to compile FlumeBase
FlumeBase is a Java application with a maven-based build process.
* Maven 2.0.9+
* Java 1.6+
* git
* Linux, or other POSIX-like environment (e.g. cygwin)
The following prerequisite tools must be installed prior to building
* Apache Thrift compiler 0.5.0
* maven-thrift-plugin 0.1.10
Installing Apache Thrift:
Apache Thrift can be downloaded from
Download the 0.5.0 release of Thrift, untar it, and build it with
./configure && make && sudo make install.
Make sure that 'configure' indicates that Java libraries will be built.
You may need to download some of Thrift's build dependencies first. See (and the links at the
bottom of that page) for instructions on installing all Thrift build
Correct installation can be verified with the following commands:
$ which thrift
$ thrift -version
Thrift version 0.5.0
If you run 'thrift --help', you should verify that 'java'
is listed in the "Available generators" section.
Installing the maven-thrift-plugin:
To integrate thrift in the Maven build, a specific plugin must be
downloaded from Clone the
repository, build, and install the plugin by running the following:
git clone git://
cd maven-thrift-plugin
mvn package install
FlumeBase requires Cloudera Flume 0.9.3 and Hadoop 0.20. These can
be installed from Cloudera's Distribution for Hadoop version 3b4 (CDH3B4).
Installation instructions for CDH are available at
Installing from yum or apt-get is the most straightforward method. If
you install from release tar.gz files, then you will need to set
$HADOOP_HOME and $FLUME_HOME in your environment.
You can also run FlumeBase with a Cloudera Flume git repository. Clone
a copy of, build it (run 'ant'), and set
FLUME_HOME to the path to your repository. You do not need to separately
install Hadoop in this case.
Finally, build FlumeBase itself by changing to the FlumeBase source directory
(the directory containing this COMPILING.txt file) and running:
mvn package
Unit tests can be executed by running:
mvn test
(This is done as a sub-step of 'mvn package'.)
More thorough (longer-running) integration tests are available at:
mvn integration-test
The FlumeBase shell can be run with:
bin/flumebase shell