「实战系列」Greenplum 编译、安装、调试

本文详细介绍了如何从源代码编译安装Greenplum数据库,包括在Mac和Redhat/Centos系统上的步骤。接着,文章阐述了Greenplum集群的手动初始化过程,提供了解决常见问题和调试集群的技巧。此外,还概述了Greenplum SQL执行流程,并给出了调试Master和Segment节点的方法,包括使用IDE如Clion进行调试。
摘要由CSDN通过智能技术生成

了解更多Greenplum技术干货,欢迎访问Greenplum中文社区网站

​本⽂先介绍如何从源代码编译安装Greenplum、初始化Greenplum集群。然后介绍SQL在Greenplum中的典型执⾏路径,最后介绍⼀些调试技巧。

源 代 码 使 ⽤ Greenplum 开 源 社 区 最 新 源 代 码 6X_STABLE 分 ⽀ :https://github.com/greenplum-db/gpdb, 内核代码基于 PostgreSQL9.4。⽬前(2019/04/23) 主⼲分⽀的代码基于 PostgreSQL 9.4 。合并到 PostgreSQL 9.5 的⼯作也已经开始, 有关最新⼯作进展请参⻅:https://github.com/greenplum-db/gpdb-postgres-merge。

1 从源代码编译 Greenplum

Greenplum ⽬前官⽅⽀持 Redhat/Centos/SuSE/Ubuntu 等Linux系统。⼤量开发⼈员包括我⾃⼰使⽤Mac系统,但是不在官⽅⽀持列表中。

1.1 在 Mac系统上编译

⾸先需要关闭苹果操作系统的 SIP 特性,否则⽆法初始化集群。

  1. 重启操作系统

  2. 重启过程中按下 command+R进⼊恢复模式

  3. 从 Utilities菜单选择 Terminal

  4. 执 ⾏ csrutildisable

  5. 重启操作系统

其次,安装Greenplum管理脚本依赖的 Python 包

$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python get-pip.py
$ sudo pip install psutil lockfile paramiko setuptools epydoc

然后,需要安装 openssl,否则⽆法编译


$ brew install zstd openssl && brew link openssl --force
$ CPPFLAGS="-I/usr/local/include/ -I/usr/local/opt/openssl/include" \
 LDFLAGS="-L/usr/local/lib -L/usr/local/opt/openssl/lib" \
 CFLAGS="-O0 -g3 -ggdb3" \
 ./configure --with-perl --with-python --with-libxml \
	--enable-debug --enable-cassert --disable-orca --disable-gpcloud \
	--disable-gpfdist --prefix=$HOME/gpdb.master
$ make [-j4]
$ make install

最后,在苹果系统上初始化Greenplum单节点集群时,需要做些准备⼯作:

  • 添加export PGHOST=localhost⾄~/.bash_profile

  • 将本机的hostname与127.0.0.1的map写到/etc/hosts中。例如

 127.0.0.1   yydzero     yydzero.local
  • 修改/etc/sysctl.conf⽂件,并重启:
kern.sysv.shmmax=2147483648
kern.sysv.shmmin=1
kern.sysv.shmmni=64
kern.sysv.shmseg=16
kern.sysv.shmall=524288
kern.maxfiles=65535
kern.maxfilesperproc=65535
net.inet.tcp.msl=60
$ cd gpAux/gpdemo
$ source $HOME/gpdb.master/greenplum_path.sh
$ export PGHOST=`hostname`
$ make
$ source gpdemo-env.sh
$ psql postgres
postgres# SELECT version()

有关更详细的信息请参考 README.macOS.md。

1.2 在 Redhat/Centos系统上编译

本⼩节以 RHEL7 为例介绍如何编译Greenplum。

⾸先,下载 Greenplum 源代码

$ git clone https://github.com/greenplum-db/gpdb

其次,Greenplum Database 编译和运⾏依赖于各种系统库和Python库。需要先安装这些依赖:

$ sudo yum groupinstall 'Development Tools'	# GCC, libtools etc
$ sudo yum install curl-devel bzip2-devel python-devel openssl-devel readline-devel libzstd-devel
$ sudo yum install perl-ExtUtils-Embed # If enable perl
$ sudo yum install libxml2-devel # If enable XML support
$ sudo yum install openldap-devel # If enable LDAP
$ sudo yum install pam pam-devel # If enable PAM
$ sudo yum install perl-devel # If need installcheck-world
$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python get-pip.py
$ sudo pip install psutil lockfile paramiko setuptools epydoc

再次,编译 Greenplum Database 源代码,假定安装到 $HOME/gpdb.master ⽬录下

$ CFLAGS="-O0 -g3 -ggdb3" \
 ./configure 	--with-perl --with-python --with-libxml --enable-debug --enable-cassert \
--disable-
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值