百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程文章 > 正文

在 ARM 架构服务器上编译 Greenplum6并制作rpm安装包

qiyuwang 2024-10-19 08:57 28 浏览 0 评论

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源码包。

  • setuptools https://pypi.org/project/setuptools/33.1.1/#files
  • psutil-5.7.2 https://pypi.org/project/psutil/#files
  • pbr-5.4.5 https://pypi.org/project/pbr/#files
  • lockfile-0.12.2 https://pypi.org/project/lockfile/#files
  • pycparser-2.20 https://pypi.org/project/pycparser/#files
  • cffi-1.14.1 https://pypi.org/project/cffi/#files
  • bcrypt-3.1.7 https://pypi.org/project/bcrypt/#files
  • six-1.15.0 https://pypi.org/project/six/#files
  • PyNaCl-1.4.0 https://pypi.org/project/PyNaCl/#files
  • cryptography-3.0 https://pypi.org/project/cryptography/#files
  • ipaddress-1.0.23 https://pypi.org/project/ipaddress/#files
  • enum34-1.1.10 https://pypi.org/project/enum34/#files
  • paramiko-2.7.1 https://pypi.org/project/paramiko/#files
  • epydoc-3.0.1 https://pypi.org/project/epydoc/#files
  • cmake-3.9.2 https://cmake.org/files/v3.9/cmake-3.9.2.tar.gz
  • zstd-dev-1.4.5 https://github.com/facebook/zstd
  • Xerces-3.1.2-p1 https://github.com/greenplum-db/gp-xerces
  • re2c-2.0 https://github.com/skvadrik/re2c
  • ninja-1.10.0 https://github.com/ninja-build/ninja
  • gporca-3.106.1 https://github.com/greenplum-db/gporca/tree/v3.65.3
  • Greenplum-6.9.1 https://github.com/greenplum-db/gpdb/releases/download/6.9.1/6.9.1-src-full.tar.gz

下载并上传如下软件包到服务器上:

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

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安装包:

完。

相关推荐

基于Docker方式安装与部署Camunda流程引擎

1Camunda简介官网:https://docs.camunda.org/manual/7.19/installation/docker/Camunda是一个轻量级、开源且高度灵活的工作流和决策自...

宝塔Linux面板如何部署Java项目?(宝塔面板 linux)

通过宝塔面板部署Java还是很方便的,至少不需要自己输入tomcat之类的安装命令了。在部署java项目前,我还是先说下目前的系统环境,如果和我的系统环境不一样,导致部署不成功,那你可能需要去找其他资...

浪潮服务器如何用IPMI安装Linux系统

【注意事项】此处以浪潮服务器为例进行演示所需使用的软件:Chrome浏览器个人PC中需要预先安装java,推荐使用jdk-8u181-windows-x64.exe【操作步骤】1、在服务器的BIOS中...

Centos7环境Hadoop3集群搭建(hadoop集群环境搭建实验报告)

由于项目需要存储历史业务数据,经过评估数据量会达到100亿以上,在原有mongodb集群和ES集群基础上,需要搭建Hbase集群进行调研,所以首先总结一下Hadoop集群的搭建过程。一、三个节点的集群...

Hadoop高可用集群搭建及API调用(hadoop高可用原理)

NameNodeHA背景在Hadoop1中NameNode存在一个单点故障问题,如果NameNode所在的机器发生故障,整个集群就将不可用(Hadoop1中虽然有个SecorndaryNameNo...

使用Wordpress搭建一个属于自己的网站

现在开源的博客很多,但是考虑到wordpress对网站的seo做的很好,插件也多。并且全世界流量排名前1000万的网站有33.4%是用Wordpress搭建的!所以尝试用Wordpress搭建一个网站...

Centos 安装 Jenkins(centos 安装ssh)

1、Java安装查看系统是否已安装Javayumlistinstalled|grepjava...

Java教程:gitlab-使用入门(java中的git)

1导读本教程主要讲解了GitLab在项目的环境搭建和基本的使用,可以帮助大家在企业中能够自主搭建GitLab服务,并且可以GitLab中的组、权限、项目自主操作...

Dockerfile部署Java项目(docker部署java应用)

1、概述本文主要会简单介绍什么是Docker,什么是Dockerfile,如何安装Docker,Dockerfile如何编写,如何通过Dockerfile安装jar包并外置yaml文件以及如何通过do...

如何在Eclipse中搭建Zabbix源码的调试和开发环境

Zabbix是一款非常优秀的企业级软件,被设计用于对数万台服务器、虚拟机和网络设备的数百万个监控项进行实时监控。Zabbix是开放源码和免费的,这就意味着当出现bug时,我们可以很方便地通过调试源码来...

Java路径-02-Java环境配置(java环境搭建及配置教程)

1Window环境配置1.1下载...

35.Centos中安装python和web.py框架

文章目录前言1.Centos7python:2.Centos8python:3.进行下载web.py框架然后应用:4.安装好之后进行验证:5.总结:前言...

《我的世界》服务器搭建(我的世界服务器如何搭建)

1.CentOS7环境1.1更改YUM源#下载YUM源文件curl-o/etc/yum.repos.d/CentOS-Base.repohttps://mirrors.aliyun.com...

CentOS 7 升级 GCC 版本(centos7.4升级7.5)

1.GCC工具介绍GCC编译器:...

Linux安装Nginx详细教程(linux安装配置nginx)

环境准备1.因为Nginx依赖于gcc的编译环境,所以,需要安装编译环境来使Nginx能够编译起来。命令:yuminstallgcc-c++显示完毕,表示安装完成:2.Nginx的http模块需要...

取消回复欢迎 发表评论: