Skip to content

Latest commit

 

History

History
164 lines (126 loc) · 4.51 KB

README.linux.md

File metadata and controls

164 lines (126 loc) · 4.51 KB

For CentOS:

  • Install Dependencies

    ./README.CentOS.bash
  • If you want to link cmake3 to cmake, run:

    sudo ln -sf /usr/bin/cmake3 /usr/local/bin/cmake
  • Make sure that you add /usr/local/lib and /usr/local/lib64 to /etc/ld.so.conf, then run command ldconfig.

  • If you want to install and use gcc-6 by default, run:

    sudo yum install -y centos-release-scl
    sudo yum install -y devtoolset-6-toolchain
    echo 'source scl_source enable devtoolset-6' >> ~/.bashrc

For RHEL:

  • Install Development Tools.

    • For RHEL 8: Install Development Tools:

      sudo yum group install -y "Development Tools"
    • For RHEL versions (< 8.0): Install devtoolset-7:

      sudo yum-config-manager --enable rhui-REGION-rhel-server-rhscl
      sudo yum install -y devtoolset-7-toolchain
  • Install dependencies using README.CentOS.bash script.

    • For RHEL 8: Execute additional steps before running README.CentOS.bash script.

      Note: Make sure installation of Development Tools includes git and make else install these tools manually.

      sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
      sed -i -e 's/python-devel /python2-devel /' -e 's/python-pip/python2-pip/' -e 's/sudo pip/sudo pip2/' README.CentOS.bash
      sed -i '/xerces-c-devel/d' README.CentOS.bash
      sudo ln -s /usr/bin/python2.7 /usr/bin/python
    • Install dependencies using README.CentOS.bash script.

      ./README.CentOS.bash

For Ubuntu (versions 20.04 or 22.04):

  • Install dependencies using README.ubuntu.bash script:

    sudo ./README.ubuntu.bash
  • Create symbolic link to Python 2 in /usr/bin:

    sudo ln -s python2 /usr/bin/python
  • Ensure that your system supports American English with an internationally compatible character encoding scheme. To do this, run:

    sudo locale-gen "en_US.UTF-8"
  • Optionally, installing Kerberos may be required to configure secure access to GPDB. To install Kerberos, run:

    sudo apt-get install -y krb5-kdc krb5-admin-server

    Note: You will be asked to configure realm for Kerberos. You can enter any realm, since this is just for testing, and during testing, it will reconfigure a local server/client. If you want to skip this manual configuration, use: export DEBIAN_FRONTEND=noninteractive

Common Platform Tasks:

  1. Create gpadmin and setup ssh keys

    Either use:

    # Requires gpdb clone to be named gpdb_src
    gpdb_src/concourse/scripts/setup_gpadmin_user.bash

    to create the gpadmin user and set up keys,

    OR

    manually create ssh keys so you can do ssh localhost without a password, e.g.,

    ssh-keygen
    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys
  2. Verify that you can ssh to your machine name without a password

    ssh <hostname of your machine>  # e.g., ssh briarwood
  3. Set up your system configuration:

    sudo bash -c 'cat >> /etc/sysctl.conf <<-EOF
    kernel.shmmax = 500000000
    kernel.shmmni = 4096
    kernel.shmall = 4000000000
    kernel.sem = 500 1024000 200 4096
    kernel.sysrq = 1
    kernel.core_uses_pid = 1
    kernel.msgmnb = 65536
    kernel.msgmax = 65536
    kernel.msgmni = 2048
    net.ipv4.tcp_syncookies = 1
    net.ipv4.ip_forward = 0
    net.ipv4.conf.default.accept_source_route = 0
    net.ipv4.tcp_tw_recycle = 1
    net.ipv4.tcp_max_syn_backlog = 4096
    net.ipv4.conf.all.arp_filter = 1
    net.ipv4.ip_local_port_range = 1025 65535
    net.core.netdev_max_backlog = 10000
    net.core.rmem_max = 2097152
    net.core.wmem_max = 2097152
    vm.overcommit_memory = 2
    EOF'
    sudo sysctl -p # Apply settings
  4. Change user and system limits:

    sudo bash -c 'cat >> /etc/security/limits.conf <<-EOF
    * soft nofile 65536
    * hard nofile 65536
    * soft nproc 131072
    * hard nproc 131072
    EOF'
    su - $USER # Apply settings
  5. Install the correct version of the Xerces-C++ library. To do this, go to the next step of the main instructions.

  6. Update the library cache:

    sudo ldconfig
  7. Make sure that you download yaml and psutil as submodules. To do this, use git clone --recurse-submodules when downloading the source code. If you want to update the submodules, run:

    git submodule update --init --recursive --force