文章目录
操作系统:centos6.4 x64最小安装
添加用户
$ useradd gpadmin
$ passwd gpadmin
把gpadmin加入sudoer,之后的操作都在gpadmin用户下完成。
搭建开发环境
# linux基本环境
$ sudo yum install -y bzip2 cmake gcc gcc-c++ gdb git libtool lrzsz make man net-tools sysstat unzip vim wget zip
# 数据库开发环境
$ sudo yum install -y apr-devel apr-util-devel bison bzip2-devel c-ares-devel flex java-1.8.0-openjdk java-1.8.0-openjdk-devel json-c-devel krb5-devel libcurl-devel libevent-devel libkadm5 libxml2-devel libxslt-devel libyaml-devel openldap-devel openssl-devel pam-devel perl perl-devel perl-ExtUtils-Embed readline-devel unixODBC-devel zlib-devel
一般来说,上面安装的开发包足够一般的数据库编译或安装使用了。
如果Greenplum版本较新(>=5X_STABLE),CentOS 6.4官方的开发包版本可能无法满足Greenplum(比如glibc不支持C11标准,python版本较低、cmake版本较低等),也可能会缺少一些其他的包。
可以通过源码编译或者非官方yum源安装合适的版本。
编译开发包
gcc-4.8.5
Greenplum较新的代码要用到C11/C++11标准,要求gcc版本4.7以上。由于系统自带或yum安装的gcc版本是4.4.7,需要编译更高版本的gcc。
编译gcc需要先编译gmp、mpfr、mpc,按照顺序编译安装。
# 编译gmp
$ wget https://gmplib.org/download/gmp/gmp-6.1.0.tar.bz2
$ tar -jxf gmp-6.1.0.tar.bz2
$ cd gmp-6.1.0
$ ./configure --prefix=/home/gpadmin/BuildEnv/gcc
$ make && make install
# 编译mpfr
$ wget https://www.mpfr.org/mpfr-3.1.4/mpfr-3.1.4.tar.bz2
$ tar -jxf mpfr-3.1.4.tar.bz2
$ cd mpfr-3.1.4
$ ./configure --prefix=/home/gpadmin/BuildEnv/gcc --with-gmp=/home/gpadmin/BuildEnv/gcc
make && make install
# 编译mpc
$ wget https://ftp.gnu.org/gnu/mpc/mpc-1.0.3.tar.gz
$ tar -zxf mpc-1.0.3.tar.gz
$ cd mpc-1.0.3
$ ./configure --prefix=/home/gpadmin/BuildEnv/gcc --with-gmp=/home/gpadmin/BuildEnv/gcc --with-mpfr=/home/gpadmin/BuildEnv/gcc
$ make && make install
# 编译gcc
$ wget ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.8.5/gcc-4.8.5.tar.bz2
$ tar -jxf gcc-4.8.5.tar.bz2
$ cd gcc-4.8.5
$ export LD_LIBRARY_PATH=/home/gpadmin/BuildEnv/gcc/lib:$LD_LIBRARY_PATH
$ ./configure --prefix=/home/gpadmin/BuildEnv/gcc --with-gmp=/home/gpadmin/BuildEnv/gcc --with-mpfr=/home/gpadmin/BuildEnv/gcc --with-mpc=/home/gpadmin/BuildEnv/gcc --disable-multilib
$ make && make install
# 设置环境变量
$ vi ~/.bashrc
export LD_LIBRARY_PATH=/home/gpadmin/BuildEnv/gcc/lib:/home/gpadmin/BuildEnv/gcc/lib64:$LD_LIBRARY_PATH
export PATH=/home/gpadmin/BuildEnv/gcc/bin:$PATH
$ source ~/.bashrc