手把手教你在 ARM 架構服務器上編譯 Greenplum6並製做rpm安裝包

瞭解更多Greenplum技術乾貨,歡迎訪問Greenplum中文社區網站

Greenplum 是一款開源MPP數據分析平臺,提供包括數據分析、機器學習和人工智能等特點功能。目前 Greenplum 的二進制發行版本只能運行在 X86 服務器。github上的Greenplum releases只有x86的發行版,沒有提供ARM 發行版。Greenplum 是開源軟件,咱們能夠經過編譯 Greenplum 源代碼自行構建 Greenplum 的 ARM 版本。python

本文將詳細講述如何在 ARM 服務器上編譯並打包開源版 Greenplum。git

編譯環境:CentOS Linux release 7.6.1810 (AltArch)github

須要提早準備OS鏡像、python依賴包、cmake、zstd-dev、Xerces、re2c、ninja、gporca等源碼包配置編譯環境,另外Greenplum編譯須要Greenplum源碼包。bootstrap

下載並上傳以下軟件包到服務器上:服務器

bcrypt-3.1.7.tar.gzcurl

cffi-1.14.1.tar.gz機器學習

cryptography-3.0.tar.gz學習

enum34-1.1.10.tar.gz網站

epydoc-3.0.1.zipui

gporca-3.106.1.tar.gz

gp-xerces-3.1.2-p1.tar.gz

greenplum-6.9.1-src-full.tar.gz

ipaddress-1.0.23.tar.gz

lockfile-0.12.2.tar.gz

ninja-1.10.0.tar.gz

paramiko-2.7.1.tar.gz

pbr-5.4.5.tar.gz

psutil-5.7.2.tar.gz

pycparser-2.20.tar.gz

PyNaCl-1.4.0.tar.gz

re2c-2.0.tar.gz

setuptools-33.1.1.zip

six-1.15.0.tar.gz

zstd-1.4.5.tar.gz

安裝依賴包:

#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

安裝Python依賴包:

安裝setuptools

# cd setuptools-master
# python bootstrap.py
# python setup.py install

安裝psutil

# cd psutil-5.7.2
# python setup.py install

安裝pbr

# cd pbr-5.4.5
# python setup.py install

安裝lockfile

# cd lockfile-0.12.2
# python setup.py install

安裝pycparser

# cd pycparser-2.20
# python setup.py install

安裝cffi

# cd cffi-1.14.1
# python setup.py install

安裝six

# cd six-1.15.0
# python setup.py install

安裝bcrypt

# cd bcrypt-3.1.7
# python setup.py install

安裝PyNaCl

# cd PyNaCl-1.4.0
# python setup.py install

安裝ipaddress

# cd ipaddress-1.0.23
# python setup.py install

安裝enum34

# cd enum34-1.1.10
# python setup.py install

安裝cryptography

# cd cryptography-3.0
# python setup.py install

安裝paramiko

# cd paramiko-2.7.1
# python setup.py install

安裝epydoc

# cd epydoc-3.0.1
# python setup.py install

安裝cmake

# cd cmake-3.9.2
# ./bootstrap
# make
# make install
# /usr/local/bin/cmake --version

安裝zstd

# cd zstd-1.4.5
# make
# make install

安裝Xerces

# cd gp-xerces-3.1.2-p1
# ./configure
# make
# make install

安裝re2c

# cd re2c-2.0
# ./autogen.sh
# ./configure
# make
# make install

安裝ninja

# cd ninja-1.10.0
# ./configure.py --bootstrap
# cp ninja /usr/bin/

安裝gporca

# cd gporca-3.106.1
# cmake -GNinja -H. -Bbuild
# vi libgpos/src/common/CStackDescriptor.cpp

第167行註釋掉

# ninja install -C build
# echo /usr/local/lib >/etc/ld.so.conf
# ldconfig

編譯Greenplum6.9.1

準備完成後能夠編譯Greenplum6.9.1了

# cd gpdb_src/
# ./configure --with-perl --with-python --with-libxml --prefix=/usr/local/gpdb
#make

若是make成功了,就能夠開始製做rpm安裝包了。

安裝rpm-build

yum install rpm-build

在/root目錄下建rpmbuild目錄

mkdir -p ~/rpmbuild/BUILD ~/rpmbuild/RPMS ~/rpmbuild/BUILDROOT ~/rpmbuild/SRPMS ~/rpmbuild/SOURCES ~/rpmbuild/SPECS

編輯Greenplum6.9.1.spec

vi ~/rpmbuild/SPECS/greenplum6.9.1.spec

修改greenplum源代碼目錄名爲greenplum-6.9.1並壓縮:

mv gpdb_src greenplum-6.9.1
tar czvf greenplum-6.9.1.tar.gz greenplum-6.9.1

把greenplum源碼包複製到rpmbuild源代碼目錄

cp greenplum-6.9.1.tar.gz ~/rpmbuild/SOURCES/

製做rpm安裝包:

rpmbuild -ba ~/rpmbuild/SPECS/greenplum6.9.1.spec

查看製做好的rpm安裝包:

image

相關文章
相關標籤/搜索