Rate This Document
Findability
Accuracy
Completeness
Readability

Script for One-Click Downloading and Installing the Greenplum Plugins

The following script can be used to download and install the plugins required by Greenplum in one-click mode. For details about how to use the script, see Single-Node Installation.

The open source code of the Greenplum community has been archived. In this document, the provided download links of the Greenplum, GPORCA, and gp-xerces source packages are not from the Greenplum community.

Script for Downloading and Installing Greenplum Plugins (CentOS or openEuler 20.03)

yum -y install curl-devel bzip2-devel python-devel openssl-devel readline-devel perl-ExtUtils-Embed libxml2-devel openldap-devel pam pam-devel perl-devel apr-devel libevent-devel libyaml libyaml-devel libedit-devel libffi-devel bison flex flex-devel
yum install -y cmake
yum install -y zstd*

echo "================================================"
echo "yum install down!"
echo "================================================"

mkdir /root/gp-plugin
cd /root/gp-plugin

# gp-xerces
wget https://gitee.com/WilliamLeoV/gp-xerces/repository/archive/v3.1.2-p1.zip --no-check-certificate
unzip v3.1.2-p1.zip
cd gp-xerces-v3.1.2-p1
./configure
make -j64
make -j64 install
cd ..
echo "================================================"
echo "gp-xerces down!"
echo "================================================"

# re2c
wget https://github.com/skvadrik/re2c/archive/refs/tags/2.0.3.tar.gz --no-check-certificate
tar -zxvf 2.0.3.tar.gz
cd re2c-2.0.3/
./autogen.sh
./configure
make -j64
make -j64 install
cd ..
echo "================================================"
echo "re2c down!"
echo "================================================"

# ninja
wget https://github.com/ninja-build/ninja/archive/refs/tags/v1.10.1.tar.gz --no-check-certificate
tar -zxvf v1.10.1.tar.gz
cd ninja-1.10.1/
./configure.py --bootstrap
cp ninja /usr/bin/
cd ..
echo "================================================"
echo "ninja down!"
echo "================================================"

# python-setuptools
wget https://github.com/pypa/setuptools/archive/refs/tags/v29.0.1.tar.gz --no-check-certificate
tar -zxvf v29.0.1.tar.gz
cd setuptools-29.0.1
python bootstrap.py
python setup.py install
cd ..
echo "================================================"
echo "python-setuptools down!"
echo "================================================"

# python-psutil
wget https://files.pythonhosted.org/packages/c4/b8/3512f0e93e0db23a71d82485ba256071ebef99b227351f0f5540f744af41/psutil-5.7.0.tar.gz --no-check-certificate
tar -zxvf psutil-5.7.0.tar.gz
cd psutil-5.7.0
python setup.py install
cd ..
echo "================================================"
echo "python-psutil down!"
echo "================================================"

# python-pbr
wget https://files.pythonhosted.org/packages/98/8a/defa5215d2dcf98cc80f4783e951a8356e38f352f7a169ae11670dcb1f25/pbr-5.4.4.tar.gz --no-check-certificate
tar -zxvf pbr-5.4.4.tar.gz
cd pbr-5.4.4
python setup.py install
cd ..
echo "================================================"
echo "python-pbr down!"
echo "================================================"

# python-lockfile
wget https://files.pythonhosted.org/packages/17/47/72cb04a58a35ec495f96984dddb48232b551aafb95bde614605b754fe6f7/lockfile-0.12.2.tar.gz --no-check-certificate
tar -zxvf lockfile-0.12.2.tar.gz
cd lockfile-0.12.2
python setup.py install
cd ..
echo "================================================"
echo "python-lockfile down!"
echo "================================================"

# python-pycparser
wget https://files.pythonhosted.org/packages/0f/86/e19659527668d70be91d0369aeaa055b4eb396b0f387a4f92293a20035bd/pycparser-2.20.tar.gz --no-check-certificate
tar -zxvf pycparser-2.20.tar.gz
cd pycparser-2.20
python setup.py install
cd ..
echo "================================================"
echo "python-pycparser down!"
echo "================================================"

# python-cffi
wget https://files.pythonhosted.org/packages/05/54/3324b0c46340c31b909fcec598696aaec7ddc8c18a63f2db352562d3354c/cffi-1.14.0.tar.gz --no-check-certificate
tar -zxvf cffi-1.14.0.tar.gz
cd cffi-1.14.0
python setup.py install
cd ..
echo "================================================"
echo "python-cffi down!"
echo "================================================"

# python-six
wget https://files.pythonhosted.org/packages/21/9f/b251f7f8a76dec1d6651be194dfba8fb8d7781d10ab3987190de8391d08e/six-1.14.0.tar.gz --no-check-certificate
tar -zxvf six-1.14.0.tar.gz
cd six-1.14.0
python setup.py install
cd ..
echo "================================================"
echo "python-six down!"
echo "================================================"

# python-bcrypt
wget https://files.pythonhosted.org/packages/fa/aa/025a3ab62469b5167bc397837c9ffc486c42a97ef12ceaa6699d8f5a5416/bcrypt-3.1.7.tar.gz --no-check-certificate
tar -zxvf bcrypt-3.1.7.tar.gz
cd bcrypt-3.1.7
python setup.py install
cd ..
echo "================================================"
echo "python-bcrypt down!"
echo "================================================"

# python-pynacl
wget https://files.pythonhosted.org/packages/61/ab/2ac6dea8489fa713e2b4c6c5b549cc962dd4a842b5998d9e80cf8440b7cd/PyNaCl-1.3.0.tar.gz --no-check-certificate
tar -zxvf PyNaCl-1.3.0.tar.gz
cd PyNaCl-1.3.0
python setup.py install
cd ..
echo "================================================"
echo "python-pynacl down!"
echo "================================================"

# python-ipaddress
wget https://files.pythonhosted.org/packages/b9/9a/3e9da40ea28b8210dd6504d3fe9fe7e013b62bf45902b458d1cdc3c34ed9/ipaddress-1.0.23.tar.gz --no-check-certificate
tar -zxvf ipaddress-1.0.23.tar.gz
cd ipaddress-1.0.23
python setup.py install
cd ..
echo "================================================"
echo "python-ipaddress down!"
echo "================================================"

# python-enum34
wget https://files.pythonhosted.org/packages/11/c4/2da1f4952ba476677a42f25cd32ab8aaf0e1c0d0e00b89822b835c7e654c/enum34-1.1.10.tar.gz --no-check-certificate
tar -zxvf enum34-1.1.10.tar.gz
cd enum34-1.1.10
python setup.py install
cd ..
echo "================================================"
echo "python-enum34 down!"
echo "================================================"

# python-cryptography
wget https://files.pythonhosted.org/packages/be/60/da377e1bed002716fb2d5d1d1cab720f298cb33ecff7bf7adea72788e4e4/cryptography-2.8.tar.gz --no-check-certificate
tar -zxvf cryptography-2.8.tar.gz
cd cryptography-2.8
python setup.py install
cd ..
echo "================================================"
echo "python-cryptography down!"
echo "================================================"

# python-paramiko
wget https://files.pythonhosted.org/packages/ac/15/4351003352e11300b9f44a13576bff52dcdc6e4a911129c07447bda0a358/paramiko-2.7.1.tar.gz --no-check-certificate
tar -zxvf paramiko-2.7.1.tar.gz
cd paramiko-2.7.1
python setup.py install
cd ..
echo "================================================"
echo "python-paramiko down!"
echo "================================================"

# python-epydoc
wget https://files.pythonhosted.org/packages/60/a7/666cb415b0f5d8d5c99f145e03a6005220090d7b77637871ac52c2cabcba/epydoc-3.0.1.tar.gz --no-check-certificate
tar -zxvf epydoc-3.0.1.tar.gz
cd epydoc-3.0.1
python setup.py install
cd ..
echo "================================================"
echo "python-epydoc down!"
echo "================================================"
echo "================================================"
echo "Still lack gp-orca!"
echo "================================================"

# gporca
wget https://gitee.com/WilliamLeoV/gporca/repository/archive/v3.65.3.zip --no-check-certificate
unzip v3.65.3.zip
cd gporca-v3.65.3
cmake -GNinja -H. -Bbuild
# vim libgpos/src/common/CStackDescriptor.cpp # Comment out line 167.
sed -i '167d' libgpos/src/common/CStackDescriptor.cpp
ninja install -C build
echo /usr/local/lib >> /etc/ld.so.conf
ldconfig
cd ..

# greenplum-6.0.0
wget https://gitee.com/mirrors/gpdb/repository/archive/6.0.0.zip --no-check-certificate
unzip 6.0.0.zip
cd gpdb-6.0.0/
./configure --with-perl --with-python --with-libxml --prefix=/usr/local/gpdb
make -j64
make -j64 install
cd ..

Script for Downloading and Installing Greenplum Plugins (openEuler 22.03)

  • Script for the download:
    #!/bin/bash
    
    wget https://github.com/pypa/setuptools/archive/refs/tags/v29.0.1.tar.gz --no-check-certificate
    wget https://files.pythonhosted.org/packages/c4/b8/3512f0e93e0db23a71d82485ba256071ebef99b227351f0f5540f744af41/psutil-5.7.0.tar.gz --no-check-certificate
    wget https://files.pythonhosted.org/packages/98/8a/defa5215d2dcf98cc80f4783e951a8356e38f352f7a169ae11670dcb1f25/pbr-5.4.4.tar.gz --no-check-certificate
    wget https://files.pythonhosted.org/packages/17/47/72cb04a58a35ec495f96984dddb48232b551aafb95bde614605b754fe6f7/lockfile-0.12.2.tar.gz --no-check-certificate
    wget https://files.pythonhosted.org/packages/0f/86/e19659527668d70be91d0369aeaa055b4eb396b0f387a4f92293a20035bd/pycparser-2.20.tar.gz --no-check-certificate
    wget https://files.pythonhosted.org/packages/05/54/3324b0c46340c31b909fcec598696aaec7ddc8c18a63f2db352562d3354c/cffi-1.14.0.tar.gz --no-check-certificate
    wget https://files.pythonhosted.org/packages/fa/aa/025a3ab62469b5167bc397837c9ffc486c42a97ef12ceaa6699d8f5a5416/bcrypt-3.1.7.tar.gz --no-check-certificate
    wget https://files.pythonhosted.org/packages/21/9f/b251f7f8a76dec1d6651be194dfba8fb8d7781d10ab3987190de8391d08e/six-1.14.0.tar.gz --no-check-certificate
    wget https://files.pythonhosted.org/packages/61/ab/2ac6dea8489fa713e2b4c6c5b549cc962dd4a842b5998d9e80cf8440b7cd/PyNaCl-1.3.0.tar.gz --no-check-certificate
    wget https://files.pythonhosted.org/packages/be/60/da377e1bed002716fb2d5d1d1cab720f298cb33ecff7bf7adea72788e4e4/cryptography-2.8.tar.gz --no-check-certificate
    wget https://files.pythonhosted.org/packages/b9/9a/3e9da40ea28b8210dd6504d3fe9fe7e013b62bf45902b458d1cdc3c34ed9/ipaddress-1.0.23.tar.gz --no-check-certificate
    wget https://files.pythonhosted.org/packages/11/c4/2da1f4952ba476677a42f25cd32ab8aaf0e1c0d0e00b89822b835c7e654c/enum34-1.1.10.tar.gz --no-check-certificate
    wget https://files.pythonhosted.org/packages/ac/15/4351003352e11300b9f44a13576bff52dcdc6e4a911129c07447bda0a358/paramiko-2.7.1.tar.gz --no-check-certificate
    wget https://files.pythonhosted.org/packages/60/a7/666cb415b0f5d8d5c99f145e03a6005220090d7b77637871ac52c2cabcba/epydoc-3.0.1.tar.gz --no-check-certificate
    
    wget https://gitee.com/WilliamLeoV/gp-xerces/repository/archive/v3.1.2-p1.zip --no-check-certificate
    wget https://github.com/skvadrik/re2c/archive/refs/tags/2.0.3.tar.gz --no-check-certificate
    wget https://github.com/ninja-build/ninja/archive/refs/tags/v1.10.1.tar.gz --no-check-certificate
    
    
    wget https://gitee.com/WilliamLeoV/gporca/repository/archive/v3.65.3.zip --no-check-certificate
    wget https://gitee.com/mirrors/gpdb/repository/archive/6.0.0.zip --no-check-certificate
    wget https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz --no-check-certificate
  • Script for the installation:
    #!/bin/bash
    yum -y install curl-devel
    yum -y install bzip2-devel
    yum -y install openssl-devel
    yum -y install readline-devel
    yum -y install perl-ExtUtils-Embed
    yum -y install libxml2-devel
    yum -y install openldap-devel
    yum -y install pam pam-devel
    yum -y install perl-devel
    yum -y install apr-devel    #
    yum -y install libevent-devel
    yum -y install libyaml libyaml-devel    #
    yum -y install libedit-devel
    yum -y install libffi-devel
    yum -y install bison
    yum -y install flex flex-devel  #
    # yum -y install python-devel
    yum -y install cmake
    yum -y install zstd*
    
    # python2
    yum -y install gcc g++ libffi* openssl zlib* bzip2
    # yum -y install libssl
    tar xvf Python-2.7.18.tgz
    cd Python-2.7.18
    ./configure --with-ensurepip=install
    make -j16
    make -j16 install
    cd ..
    
    # gp-xerces
    
    
    unzip v3.1.2-p1.zip
    cd gp-xerces-v3.1.2-p1
    ./configure
    make -j16
    make -j16 install
    cd ..
    
    # re2c
    tar -zxvf 2.0.3.tar.gz
    cd re2c-2.0.3/
    ./autogen.sh
    ./configure
    make -j16
    make -j16 install
    cd ..
    
    # ninja
    tar -zxvf v1.10.1.tar.gz
    cd ninja-1.10.1/
    ./configure.py --bootstrap
    cp ninja /usr/bin/
    cd ..
    
    # python-setuptools
    tar -zxvf v29.0.1.tar.gz
    cd setuptools-29.0.1
    python bootstrap.py
    python setup.py install
    cd ..
    
    # python-psutil
    tar -zxvf psutil-5.7.0.tar.gz
    cd psutil-5.7.0
    python setup.py install
    cd ..
    
    # python-pbr
    tar -zxvf pbr-5.4.4.tar.gz
    cd pbr-5.4.4
    python setup.py install
    cd ..
    
    # python-lockfile
    tar -zxvf lockfile-0.12.2.tar.gz
    cd lockfile-0.12.2
    python setup.py install
    cd ..
    
    # python-pycparser
    tar -zxvf pycparser-2.20.tar.gz
    cd pycparser-2.20
    python setup.py install
    cd ..
    
    # python-cffi
    tar -zxvf cffi-1.14.0.tar.gz
    cd cffi-1.14.0
    python setup.py install
    cd ..
    
    # python-six
    tar -zxvf six-1.14.0.tar.gz
    cd six-1.14.0
    python setup.py install
    cd ..
    
    # python-bcrypt
    tar -zxvf bcrypt-3.1.7.tar.gz
    cd bcrypt-3.1.7
    python setup.py install
    cd ..
    
    # python-pynacl
    tar -zxvf PyNaCl-1.3.0.tar.gz
    cd PyNaCl-1.3.0
    python setup.py install
    cd ..
    
    # python-ipaddress
    tar -zxvf ipaddress-1.0.23.tar.gz
    cd ipaddress-1.0.23
    python setup.py install
    cd ..
    
    # python-enum34
    tar -zxvf enum34-1.1.10.tar.gz
    cd enum34-1.1.10
    python setup.py install
    cd ..
    
    # python-cryptography
    tar -zxvf cryptography-2.8.tar.gz
    cd cryptography-2.8
    python setup.py install
    cd ..
    
    # python-paramiko
    tar -zxvf paramiko-2.7.1.tar.gz
    cd paramiko-2.7.1
    python setup.py install
    cd ..
    
    # python-epydoc
    tar -zxvf epydoc-3.0.1.tar.gz
    cd epydoc-3.0.1
    python setup.py install
    cd ..
    
    # gp-orca
    
    
    unzip v3.65.3.zip
    cd gporca-v3.65.3
    cmake -GNinja -H. -Bbuild
    # vim libgpos/src/common/CStackDescriptor.cpp # Comment out line 167.
    sed -i '167d' libgpos/src/common/CStackDescriptor.cpp
    ninja install -C build
    echo /usr/local/lib >> /etc/ld.so.conf
    ldconfig
    cd ..
    
    # greenplum-6.0.0
    
    unzip 6.0.0.zip
    cd gpdb-6.0.0/
    sed -i '76 s/bool/extern bool/' src/backend/cdb/cdbvars.c
    sed -i '190 s/bool/extern bool/' src/backend/utils/misc/guc_gp.c
    sed -i '196 s/char/extern char/' src/backend/utils/misc/guc_gp.c
    ./configure --with-perl --with-python --with-libxml --prefix=/usr/local/gpdb
    make -j64
    make -j64 install
    cd ..