Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Step 1: Prepare a HAWQ source code tarball for rpm building.
    • a) Make sure the source code tarball name format is: apache-hawq-src-%{hawq_version}-incubating.tar.gz
    • b) Make sure the extracted directory name format is: apache-hawq-src-%{hawq_version}-incubating
    • c) Put the HAWQ source tarball to %{top_dir}/contrib/hawq-package folder. Or use "HAWQ_SOURCE_TARBALL_PATH" to specify the find path of HAWQ source tarball.
  • Step 2: Configuration operating system:

  • No Format
    use a text editor to edit the /etc/sysctl.conf file. Add or edit each of the following parameter definitions to set the required value. 
    
    
         kernel.shmmax = 1000000000
         kernel.shmmni = 4096
         kernel.shmall = 4000000000
         kernel.sem = 250 512000 100 2048
         kernel.sysrq = 1
         kernel.core_uses_pid = 1
         kernel.msgmnb = 65536
         kernel.msgmax = 65536
         kernel.msgmni = 2048
         net.ipv4.tcp_syncookies = 0
         net.ipv4.conf.default.accept_source_route = 0
         net.ipv4.tcp_tw_recycle = 1
         net.ipv4.tcp_max_syn_backlog = 200000
         net.ipv4.conf.all.arp_filter = 1
         net.ipv4.ip_local_port_range = 1281 65535
         net.core.netdev_max_backlog = 200000
         vm.overcommit_memory = 2
         fs.nr_open = 3000000
         kernel.threads-max = 798720
         kernel.pid_max = 798720
         # increase network
         net.core.rmem_max=2097152
         net.core.wmem_max=2097152
    Execute the following command to apply your updated /etc/sysctl.conf file to the operating system configuration:
    sysctl -p
    
    
    Use a text editor to edit the /etc/security/limits.conf file. Add the following definitions in the exact order that they are listed
    
         * soft nofile 2900000
         * hard nofile 2900000
         * soft nproc 131072
         * hard nproc 131072
  • Step 2: Install build dependencies of HAWQ, following instruction at:

    No Format
    wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    # For CentOs 7 the link is https://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm
    rpm -ivh epel-release-latest-7.noarch.rpm
    yum makecache
    # On redhat7, make sure enabled rhel-7-server-extras-rpms and rhel-7-server-optional-rpms channel in /etc/yum.repos.d/redhat.repo
    # Otherwise yum will prompt some packages(e.g. gperf) not be found
    yum install -y man passwd sudo tar which git mlocate links make bzip2 net-tools \
      autoconf automake libtool m4 gcc gcc-c++ gdb bison flex gperf maven indent \
      libuuid-devel krb5-devel libgsasl-devel expat-devel libxml2-devel \
      perl-ExtUtils-Embed pam-devel python-devel libcurl-devel snappy-devel \
      thrift-devel libyaml-devel libevent-devel bzip2-devel openssl-devel \
      openldap-devel protobuf-devel readline-devel net-snmp-devel apr-devel \
      libesmtp-devel python-pip json-c-devel \
      java-1.7.0-openjdk-devel lcov cmake\
      openssh-clients openssh-server perl-JSON perl-Env
    
    # need tomcat6 if enable-rps
    # download from http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.44/
    
    pip --retries=50 --timeout=300 install pycrypto

     

  • Step 3: Run 'make distclean' and './configure'.
  • Step 4: Run 'make rpm' in the top directory of source code
    • You can set environment variable "HAWQ_RELEASE_VERSION" to specify HAWQ version
  • Step 5: You can find HAWQ/PFX/Ranger plugin rpms tarball at:
    • %{top_dir}/contrib/hawq-package/apache-hawq-rpm-%{hawq_version}-incubating.tar.gz
  • Please refer to: https://github.com/apache/incubator-hawq/blob/master/contrib/hawq-package/README for details.

...