This page documents ways to build Apache Hadoop trunk, and some of the former release branches.

Contents

Prerequisites for build

1. A Java JDK - To compile and use Apache Hadoop.

2. Apache Maven (3+) - To build and manage the Apache Hadoop projects and its dependencies.

3. Git or Apache Subversion - To fetch Apache Hadoop sources and manage patches.

4. Some spirit is always good to have.

Building trunk

1. Checkout the sources (Use any method below):

2. Download and install Google Protobuf 2.4+ in your OS/Distribution.

  1. On RHEL/CentOS/Fedora, do yum install protobuf-compiler

  2. On Ubuntu, do apt-get install protobuf

  3. On OSX, you can get Homebrew and do brew install protobuf

  4. (The list can go on, but you get the idea, and you have access to a web search engines…)
  5. Do ensure the version is right with a protoc --version

3. Optional: Install all the usual build/development essentials like gcc, autoconf, automake, make, zlib, etc. for various native-code components you may want to hack on.

4. Enter the top level checkout directory (hadoop) and issue mvn install -DskipTests to kick off the compile.

5. If you want to generate eclipse project files, run: mvn eclipse:eclipse.

Building branch-0.23

This is same as building trunk, but checkout the "branch-0.23" branch before you run the commands.

1. Checkout the sources (Use any method below):

2. If you want to generate eclipse project files, run: mvn eclipse:eclipse.

Building branch-0.22

0.22 and below used Apache Ant as the build tool. You need the latest Apache Ant installed and the 'ant' executable available on your PATH before continuing.

1. Checkout the sources (Use any method below):

2. Optional: Install all the usual build/development essentials like gcc, autoconf, automake, make, zlib, etc. for various native-code components you may want to hack on.

3. There are three projects subdirectories that lie under the root hadoop directory: common/, hdfs/, and mapred/. You will need to build each one individually, or build the ones you are interested in.

  1. For instance, to build the "mapred" project, you need to begin by entering its directory: cd hadoop/hdfs.

  2. To then compile the whole project, run: ant compile.

  3. The above instructions can be repeated for hadoop/common and hadoop/hdfs project directories.

3. If you want to generate eclipse project files, under each project's root directory, run: ant eclipse.

Building branch-0.21

throw new NotYetCompletedException() :)

Building branch-1

Formerly known as branch-0.20, and branch-0.20-security, and instruction also applies for branch-0.20-append. The merger of all three formed branch-1 recently, and is a stable Apache Hadoop branch.

1.0, being an older branch, still uses Apache Ant as the build tool. You need the latest Apache Ant installed and the 'ant' executable available on your PATH before continuing.

This is almost similar as building branch-0.22, but there is just one project directory to worry about.

1. Checkout the sources (Use any method below):

2. Optional: Install all the usual build/development essentials like gcc, autoconf, automake, make, zlib, etc. for various native-code components you may want to hack on.

3. The source code all lies under the same project directory, so you just need to issue an Ant build: cd hadoop; ant compile

4. If you want to generate eclipse project files, under each project's root directory, run: ant eclipse.

QwertyManiac/BuildingHadoopTrunk (last edited 2012-03-18 09:11:09 by QwertyManiac)