You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 28 Next »

This page describes how to build Impala from source and how to configure and run Impala in a single node development environment. 

Prerequisites and Requirements

Hardware Requirements

  • CPU must support at least SSSE3
  • Minimum Memory: 8GB

Supported Operating Systems

Linux

  • Ubuntu 14.04, 15.04

OS X

Not supported

Windows

Not supported

Installing and Configuring Impala

  1. Install prerequisites

    git clone https://github.com/awleblang/impala-setup
    cd impala-setup
    chmod +x install.sh
    sudo ./install.sh
  2. Clone the Impala git repo and change to the new Impala directory.

    git clone https://git-wip-us.apache.org/repos/asf/incubator-impala.git Impala
    cd Impala
  3. Set the following environment variables in your `.bashrc` or elsewhere:

    export JAVA_HOME=/usr/lib/jvm/java-7-oracle-amd64
    export IMPALA_HOME=<path to Impala>
    export BOOST_LIBRARYDIR=/usr/lib/x86_64-linux-gnu
    export LC_ALL="en_US.UTF-8"
  4. Build Impala.

    source ${IMPALA_HOME}/bin/impala-config.sh
    # Build Impala and prepare the local pseudo-cluster (the first time only)
    ${IMPALA_HOME}/buildall.sh -noclean -skiptests -build_shared_libs -format

    You may hit an error here in bootstrap_toolchain.py if you are building Impala on an operating system for which prebuilt toolchain binaries are not available. In that case you will need to build native-toolchain from scratch then retry this step.

    Want faster builds?

    Doing a full build of Impala can take quite a while! While you wait, check out Tips for Faster Impala Builds.

  5. Start supporting services.

    # This script starts or restarts the local services required for the test cluster
    # including HDFS, HBase, Hive and ZooKeeper. If you hit a problem with this script,
    # check the log files in ${IMPALA_HOME}/cluster_logs/ for clues.
    ${IMPALA_HOME}/buildall.sh -noclean -notests -build_shared_libs -start_minicluster
  6. Start the Impala cluster.

    # The following command will start an Impala cluster with 3 Impala demons, one 
    # Statestore and one Catalog demon.
    ${IMPALA_HOME}/bin/start-impala-cluster.py
  7. Check that everything works correctly.

    impala-shell.sh -q "SELECT version()"
    Starting Impala Shell without Kerberos authentication
    Connected to localhost:21000
    Server version: impalad version 2.2.0-INTERNAL DEBUG (build 47c90e004aecb928a37b926080098d30b96b4330)
    Query: select version()
    +---------------------------------------------------------------------------------------+
    | version()                                                                             |
    +---------------------------------------------------------------------------------------+
    | impalad version 2.2.0-INTERNAL DEBUG (build 47c90e004aecb928a37b926080098d30b96b4330) |
    | Built on Sun, Mar 22 15:22:57 PDT 2015                                                |
    +---------------------------------------------------------------------------------------+
    Fetched 1 row(s) in 0.05s
  8. Have fun...
  9. Recompile and restart the Impala cluster for your changes to take effect.

    # Rebuild both backend and frontend
    ${IMPALA_HOME}/buildall.sh -skiptests -build_shared_libs -noclean
    # Optional: Build the backend only
    ${IMPALA_HOME}/bin/make_[debug|release].sh [-notests]
    # Optional: Build the Java-side frontend only
    cd ${IMPALA_HOME}/fe && mvn clean package dependency:copy-dependencies -DskipTests=true
    # Restart the Impala cluster
    ${IMPALA_HOME}/bin/start-impala-cluster.py

 

 

  • No labels