How to Build
Option 1 (with pre-built docker image)
Follow the steps on: https://hub.docker.com/r/mayjojo/hawq-dev/
Option 2 (build the dependencies by yourself)
OS requirement
Currently, only Redhat 6.5 and CentOS 6.5 are verified to work.
install redhat 6.5 basic server
- choose install development tools
Dependencies
There are several dependencies (see the following table) you must install before building HAWQ. The steps in "Compile and Install" column typically install the headers to /usr/local/include and libraries to /usr/local/lib or /usr/local/lib64. If you want to install the lib in another place, you can use the --prefix=/the/path option when you run configure. For example: ./configure --prefix=/the/path.
Name | Version | Download URL | Compile and Install |
---|---|---|---|
gperf | 3.0.4 | http://ftp.gnu.org/gnu/gperf/gperf-3.0.4.tar.gz | /configure make sudo make install |
snappy | 1.1.3 | https://github.com/google/snappy/releases/download/1.1.3/snappy-1.1.3.tar.gz | ./configure make sudo make install |
bzip2 | 1.0.6 | make sudo make install | |
python | 2.6.2 | https://www.python.org/ftp/python/2.6.2/Python-2.6.2.tgz | ./configure make sudo make install |
libevent | 1.4.6 | https://github.com/downloads/libevent/libevent/libevent-1.4.6-stable.tar.gz | ./configure make sudo make install |
json-c | 0.9 | http://oss.metaparadigm.com/json-c/json-c-0.9.tar.gz | ./configure make sudo make install |
krb5 | 1.11.3 | http://web.mit.edu/kerberos/dist/krb5/1.11/krb5-1.11.3-signed.tar | ./configure make sudo make install |
libuuid | 2.26.2 | http://mirrors.163.com/centos/6.7/os/x86_64/Packages/libuuid-devel-2.17.2-12.18.el6.x86_64.rpm | rpm -i libuuid-devel-2.17.2-12.18.el6.x86_64.rpm |
libgsasl | 1.8.0 | ftp://ftp.gnu.org/gnu/gsasl/libgsasl-1.8.0.tar.gz | ./configure make sudo make install |
libxml2 | 2.7.8 | http://xmlsoft.org/sources/libxml2-2.7.8.tar.gz | ./configure make sudo make install cd /usr/local/include/ sudo ln -s libxml2/libxml libxml |
zlib | 1.2.3 | http://zlib.net/fossils/zlib-1.2.3.tar.gz | ./configure --prefix=/usr make sudo make install |
readline | 6.0 | ftp://ftp.gnu.org/gnu/readline/readline-6.0.tar.gz | ./configure make sudo make install (you may need to run ldconfig) |
openssl | 0.9.8 | ftp://ftp.openssl.org/source/openssl-0.9.8ze.tar.gz | ./config --prefix=/usr/local --openssldir=/usr/local/openssl make sudo make install |
protobuf | 2.5.0 | https://github.com/google/protobuf/tree/v2.5.0 | ./configure make sudo make install |
boost | 1.56 | http://sourceforge.net/projects/boost/files/boost/1.56.0/boost_1_56_0.tar.bz2 | ./bootstrap.sh ./b2 sudo ./b2 install |
bison | 2.5 | http://ftp.gnu.org/gnu/bison/bison-2.5.tar.gz | ./configure make sudo make install |
thrift | 0.9.1-1 | http://archive.apache.org/dist/thrift/0.9.1/thrift-0.9.1.tar.gz | ./configure make sudo make install |
apr | 1.2.12 | http://archive.apache.org/dist/apr/apr-1.2.12.tar.gz | ./configure make sudo make install |
libyaml | 0.1.1 | ./configure make sudo make install | |
curl | 7.44.0 | http://www.curl.haxx.se/download/curl-7.44.0.tar.gz | ./configure make sudo make install |
flex | 2.5.35 | http://sourceforge.net/projects/flex/files/flex-2.5.35.tar.gz/download | ./configure make sudo make install |
libhdfs3 | latest version | https://github.com/PivotalRD/libhdfs3.git | Get code : git clone Install dependencies follow README.md Run: mkdir build cd build ../bootstrap --prefix=/usr/local/ make sudo make install |
Get code and build HAWQ
The Apache HAWQ sources can be obtained from the site: URL. You should get the source code using git clone.Get source code
- Get source code
# git clone https://git-wip-us.apache.org/repos/asf/incubator-hawq.git - Install libyarn
# cd depends/libyarn/
# mkdir build
# cd build
# ../bootstrap --prefix=/usr/local/
# make
# sudo make install - go to top hawq source directory
# ./configure
# make -j8
# sudo make install
Init and start HAWQ
# source /install/dir/greenplum_path.sh
# hawq init cluster
# hawq start cluster