作者简介
刘雪柏
诺基亚东软通信有限公司 高级软件工程师
从事数据库相关工作
联系方式:aiden.liu@qq.com
Greenplum 是一款开源MPP数据分析平台,提供包括数据分析、机器学习和人工智能等特色功能。目前 Greenplum 的二进制发行版本只能运行在 X86 服务器。github上的Greenplum releases只有x86的发行版,没有提供ARM 发行版。Greenplum 是开源软件,我们可以通过编译 Greenplum 源代码自行构建 Greenplum 的 ARM 版本。
本文将详细讲述如何在 ARM 服务器上编译并打包开源版 Greenplum。
编译环境:CentOS Linux release 7.6.1810 (AltArch)
需要提前准备OS镜像、python依赖包、cmake、zstd-dev、Xerces、re2c、ninja、gporca等源码包配置编译环境,另外Greenplum编译需要Greenplum源码包。

下载并上传如下软件包到服务器上:
bcrypt-3.1.7.tar.gz
cffi-1.14.1.tar.gz
cryptography-3.0.tar.gz
enum34-1.1.10.tar.gz
epydoc-3.0.1.zip
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
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依赖包:
# 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
# make
# make install
安装re2c
# cd re2c-2.0
# ./autogen.sh
# make
# make install
安装ninja
# cd ninja-1.10.0
# 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/
#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安装包:

完。

https://changshushi.tiancebbs.cn/hjzl/455495.html https://www.tiancebbs.cn/ershoufang/473813.html https://aihuishou.tiancebbs.cn/sh/1508.html https://zulin.tiancebbs.cn/sh/2992.html https://www.tiancebbs.cn/ershoufang/469887.html https://zulin.tiancebbs.cn/sh/3249.html https://zulin.tiancebbs.cn/sh/2426.html https://su.tiancebbs.cn/hjzl/462232.html https://www.tiancebbs.cn/ershoufang/471236.html https://www.tiancebbs.cn/ershouwang/474360.html https://zulin.tiancebbs.cn/sh/2724.html https://zulin.tiancebbs.cn/sh/2120.html https://zulin.tiancebbs.cn/sh/2842.html https://su.tiancebbs.cn/hjzl/459493.html https://taicang.tiancebbs.cn/hjzl/463715.html https://aihuishou.tiancebbs.cn/sh/213.html https://zulin.tiancebbs.cn/sh/2362.html
https://aihuishou.tiancebbs.cn/sh/1610.html https://zk.tiancebbs.cn/qths/473760.html https://aihuishou.tiancebbs.cn/sh/3971.html https://aihuishou.tiancebbs.cn/sh/398.html https://liaoyang.tiancebbs.cn/qths/463140.html https://www.tiancebbs.cn/ershouwang/469800.html https://www.tiancebbs.cn/ershoufang/473018.html https://np.tiancebbs.cn/jiajiao/213144.html https://zulin.tiancebbs.cn/sh/1617.html https://www.tiancebbs.cn/ershoufang/467937.html https://aihuishou.tiancebbs.cn/sh/1001.html https://aihuishou.tiancebbs.cn/sh/3512.html https://www.tiancebbs.cn/ershouwang/470749.html https://aihuishou.tiancebbs.cn/sh/1842.html https://aihuishou.tiancebbs.cn/sh/3779.html https://su.tiancebbs.cn/hjzl/470198.html https://hf.tiancebbs.cn/qths/205504.html
夸夸我的妈妈:https://www.nanss.com/xuexi/xiezuo/20738.html 心态好的微信名:https://www.nanss.com/mingcheng/20578.html 仓管员工作总结:https://www.nanss.com/gongzuo/19299.html 退学申请书:https://www.nanss.com/xuexi/20511.html 隔热材料:https://www.nanss.com/shenghuo/20391.html 婚礼主持流程:https://www.nanss.com/shenghuo/20645.html 我有一双隐形的翅膀:https://www.nanss.com/xuexi/xiezuo/20748.html 基层党建调研报告:https://www.nanss.com/gongzuo/19710.html 党性修养提高情况:https://www.nanss.com/xuexi/20297.html 长三角三省一市是哪些地方:https://www.nanss.com/shenghuo/19842.html 幼儿园母亲节活动方案:https://www.nanss.com/gongzuo/19262.html 不起眼的小生意:https://www.nanss.com/shenghuo/20663.html 横空出世观后感:https://www.nanss.com/xuexi/20291.html 招商引资方案:https://www.nanss.com/gongzuo/18733.html 坚强的名言:https://www.nanss.com/yulu/19264.html 文科女生最吃香的专业:https://www.nanss.com/xuexi/20707.html 莲藕的功效与作用:https://www.nanss.com/yinshi/19883.html 项目经理工作职责:https://www.nanss.com/gongzuo/20480.html 小学信息技术教案:https://www.nanss.com/xuexi/20448.html 饮水机怎么清洗:https://www.nanss.com/shenghuo/19980.html 诗歌朗诵:https://www.nanss.com/xuexi/20608.html 组织生活会对照检查材料2024年度:https://www.nanss.com/gongzuo/20582.html 社团活动心得:https://www.nanss.com/xuexi/19600.html 冰箱调节温度1234567调哪个最冷:https://www.nanss.com/shenghuo/20388.html 防水材料有哪些:https://www.nanss.com/shenghuo/20398.html 小学教师年终总结:https://www.nanss.com/gongzuo/20334.html 什么是丁克:https://www.nanss.com/shenghuo/18399.html 抗美援朝是哪一年:https://www.nanss.com/wenti/20360.html 最吉利旺财的微信名:https://www.nanss.com/mingcheng/20494.html 校园励志歌曲:https://www.nanss.com/xuexi/20451.html