Greenplum编译环境搭建(CentOS 6.6)

1、安装系统依赖库
■yum -y install rsync coreutils glib2 lrzsz sysstat e4fsprogs xfsprogs ntp readline-devel zlib zlib-devel openssl openssl-devel pam-devel libxml2-devel libxslt-devel python-devel tcl-devel gcc make smartmontools flex bison perl perl-devel perl-ExtUtils* OpenIPMI-tools openldap openldap-devel logrotate python-py gcc-c++ libevent-devel apr-devel libcurl-devel bzip2-devel libyaml-devel git
Tips:如下载不了,改DNS:/etc/resolv.conf --> nameserver 8.8.8.8

2、升级GCC到gcc-4.8.2(gcc-4.8.2.tar.gz)
■cd gcc-4.8.2
■./contrib/download_prerequisites 或者手动安装
MPFR=mpfr-2.4.2
GMP=gmp-4.3.2
MPC=mpc-0.8.1

tar xjf mpfr-2.4.2.tar.bz2 || exit 1
tar xjf gmp-4.3.2.tar.bz2  || exit 1
tar xzf mpc-0.8.1.tar.gz || exit 1

ln -sf mpfr-2.4.2 mpfr || exit 1
ln -sf gmp-4.3.2 gmp || exit 1
ln -sf mpc-0.8.1 mpc || exit 1

rm $MPFR.tar.bz2 $GMP.tar.bz2 $MPC.tar.gz || exit 1

■mkdir gcc-build-4.8.2 && cd gcc-build-4.8.2
■…/configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
如果提示mpfr,gmp,mpc版本不对,则运行:sudo yum install gmp gmp-devel mpfr mpfr-devel libmpc libmpc-devel

■make -j4
■make install
■update-alternatives --install /usr/bin/gcc gcc /usr/local/bin/x86_64-unknown-linux-gnu-gcc 40

3、cmake(cmake-3.11.2.tar.gz)
■a.调整cmake预备环境
strings /usr/local/lib64/libstdc++.so.6.0.18|grep GLIBCXX
cp /usr/local/lib64/libstdc++.so.6.0.18 /usr/lib64/
cd /usr/lib64/
rm -f libstdc++.so.6
ln -s libstdc++.so.6.0.18 libstdc++.so.6

■b.安装
./configure --prefix=/home/gpadmin/cmake
make
make install
export PATH=/home/gpadmin/cmake/bin:$PATH

4、gpos(gpos-master.zip)
mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/home/gpadmin/gpos_home …/
make install

5、gp-xerces(gp-xerces-master.zip)
mkdir build && cd build
…/configure --prefix=/home/gpadmin/gp-xerces_home
make -j 32
make install

6、gporca(gporca-master.zip) --更换 gporca-2.56.0.zip(for gp5.10) --更换 gporca-3.9.0.zip(for gp6.x)
■a.清理文件
rm -rf build/* [/]
rm -rf /usr/local/include/naucrates
rm -rf /usr/local/include/gpdbcost
rm -rf /usr/local/include/gpopt
rm -rf /usr/local/include/gpos
rm -rf /usr/local/lib/libnaucrates.so

rm -rf /usr/local/lib/libgpdbcost.so*
rm -rf /usr/local/lib/libgpopt.so*
rm -rf /usr/local/lib/libgpos.so*

■b.安装
mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE
-D CMAKE_INSTALL_PREFIX=/home/gpadmin/gporca_home
-D GPOS_INCLUDE_DIR=/home/gpadmin/gpos_home/include
-D GPOS_LIBRARY=/home/gpadmin/gpos_home/lib/libgpos.so
-D XERCES_INCLUDE_DIR=/home/gpadmin/gp-xerces_home/include
-D XERCES_LIBRARY=/home/gpadmin/gp-xerces_home/lib/libxerces-c.so …/
make
make install
ldconfig

7、gpdb(gpdb-master.zip) --更换 gpdb-5.8.0.tar.gz
cp -r /home/gpadmin/gporca_home/include/gpopt ./
export LD_LIBRARY_PATH=/home/gpadmin/gporca_home/lib:/home/gpadmin/gpos_home/lib:/home/gpadmin/gp-xerces_home/lib

// 额外工具参数:
// --enable-gpperfmon --enable-pxf
// --with_apr_config --with_apu_config --with-gssapi

CFLAGS+="-O2" ./configure --prefix=/usr/local/gpdb --enable-orca --enable-gpperfmon --enable-pxf
–with-perl --with-python --with-libxml --with-gssapi
–with-includes=/home/gpadmin/gporca_home/include:/home/gpadmin/gpos_home/include:/home/gpadmin/gp-xerces_home/include
–with-libraries=/home/gpadmin/gporca_home/lib:/home/gpadmin/gpos_home/lib:/home/gpadmin/gp-xerces_home/lib

make
make install
ln -s /usr/local/gpdb/ /usr/local/greenplum-db

■执行configure时错误:configure: error: apu-1-config is required for gpperfmon, unable to find binary
// a.安装apr(apr-1.3.9.tar.gz) download from http://archive.apache.org/dist/apr/
cd build
…/configure --prefix=/home/gpadmin/gp_depends/apr_home
make
make install

// b.安装apr-util(apr-util-1.3.9.tar.gz) download from http://archive.apache.org/dist/apr/
cd build
…/configure --prefix=/home/gpadmin/gp_depends/apr-util_home --with-apr=/home/gpadmin/gp_depends/apr_home
make
make install

// c.拷贝需要的库文件
cp -R /home/gpadmin/gp_depends/apr-util_home/bin/apu-1-config /usr/bin/

■执行configure时错误:configure: error: library ‘netsnmp’ is required for snmp support
./configure --prefix=/home/gpadmin/gp_depends/net-snmp_home
// System Contact Information (@@no.where): xiaoming19871124@126.com
// /home/gpadmin/gp_depends/net-snmp_home/log/snmpd.log
// /home/gpadmin/gp_depends/net-snmp_home
make
make install

■执行configure时错误:configure: error: library ‘DDBoost’ is required for DD Boost support
./bootstrap.sh
./b2 install

8、检查验证
source /usr/local/gpdb/greenplum_path.sh
gpstate查看是否能用

9、问题处理
■a)Error: unable to import module: No module named psutil
python setup.py install
【pip install psutil】

■b)ImportError: No module named setuptools
python setup.py install
【pip install setuptools】

■c)Error: unable to import module: No module named paramiko
python setup.py build
python setup.py install
【pip install paramiko】

■d)ImportError: No module named lockfile.pidlockfile
【pip install psi lockfile paramiko setuptools epydoc】

=================================================================================================
【可选】项目(不影响GP编译)
1、升级Python(Python-2.7.15.tar.xz) https://blog.csdn.net/zx_whu/article/details/71773923
■xz -d Python-2.7.15.tar.xz
■tar xf Python-2.7.15.tar

// 安装(一些情况不需要安装sqlite,还需要根据实际情况定)
■安装sqlite(sqlite-amalgamation-3.6.20.tar.gz)
./configure --prefix=/usr/local/lib/sqlite3
make && make install

修改python安装目录setup.py:(在sqlite_inc_paths最后添加一行‘/usr/local/lib/sqlite3/include’)
sqlite_inc_paths = [ ‘/usr/include’,
‘/usr/include/sqlite’,
‘/usr/include/sqlite3′,
‘/usr/local/include’,
‘/usr/local/include/sqlite’,
‘/usr/local/include/sqlite3′,
‘/usr/local/lib/sqlite3/include’,

// ■yum -y install openssl openssl-devel
■./configure --with-ssl

■修改python安装目录Modules/Setup
#zlib zlibmodule.c -I ( p r e f i x ) / i n c l u d e − L (prefix)/include -L (prefix)/includeL(exec_prefix)/lib -lz
去掉注释
zlib zlibmodule.c -I ( p r e f i x ) / i n c l u d e − L (prefix)/include -L (prefix)/includeL(exec_prefix)/lib -lz

■sudo make all
■sudo make install
■sudo make clean
■sudo make distclean
// 查看版本
■/usr/local/bin/python2.7 -V
// 建立软连接
■sudo mv /usr/bin/python /usr/bin/python2.6.6
■sudo ln -s /usr/local/bin/python2.7 /usr/bin/python

// 恢复yum(yum需要与之前的软连接一致)
■sudo vim /usr/bin/yum
// ■CentOS_7 ntpd服务需要再修改(sudo vim /usr/libexec/urlgrabber-ext-down)
■#!/usr/bin/python 改为 #!/usr/bin/python2.6.6

2、安装 pip:
tips:太慢就修改源:-i https://pypi.tuna.tsinghua.edu.cn/simple
或者直接修改源文件:修改 ~/.pip/pip.conf (没有就创建一个文件夹及文件。文件夹要加“.”,表示是隐藏文件夹)
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=mirrors.aliyun.com

■wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate
■sudo python get-pip.py

问题处理 >>> Failed building wheel for psutil:
yum -y install gcc
yum -y install python-devel
pip install psutil

常用操作:
select * from gp_segment_configuration order by dbid;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值