Greenplum编译安装及简单测试

来源:互联网 发布:华东师范大学数据库 编辑:程序博客网 时间:2024/06/15 23:19
环境:VMware  CentOS 6.7虚拟机, 512MB RAM
1.下载源码
gitclone https://github.com/greenplum-db/gpdb.git
2.编译环境
yum install make curl bzip2-devel gcc-c++ zlib-devel readline-devel libcurl-devel flex bison libxml2-devel python-devel pychecker python-paramiko python-crypto xfsprogs
#pip为python库的安装工具
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
 sudo pip install psi lockfile paramiko setuptools epydoc
3.安装
#配置安装路径和选项
configure -prefix=/usr/local/gpdb/build/gpdb.master --enable-cassert --enable-debug --enable-testutils --enable-debugbreak --enable-depend
#编译
make
#解决安装依赖make install
#make install出错极有可能是依赖的软件包没有安装,仔细核查
make install
#make install后安装完成,还需进行分布式环境的配置
4.Greenplum Database 集群网络设置
#首先关闭防火墙和SELINUX
虚拟机网络信息
网卡:vmnet8
子网IP: 192.168.159.0
子网掩码:255.255.255.0
网关IP:192.168.159.2


Master静态IP配置
a.修改配置文件/etc/sysconfig/network
NETWORKING=yes
HOSTNAME=CentOS
NTPSERVERARGS=iburst
GATEWAY=192.168.159.2
#GATEWAY指定网关地址。
b.修改配置文件/etc/sysconfig/network-scripts/ifcfg-eth1
#ethX与系统相关, 参见文件/etc/udev/rules.d/70-persistent-net.rules
DEVICE="eth1"
ONBOOT=yes
NAME="system eth1 interface"
BOOTPROTO="static"
IPADDR=192.168.159.8
NETMASK=255.255.255.0
DNS1=192.168.159.2
GATEWAY=192.168.159.2
DEFROUTE=no
c.修改配置文件/etc/resolv.conf
nameserver 192.168.8.2
d.重启网络服务
service network restart


SDW1静态IP配置
a.修改配置文件/etc/sysconfig/network
NETWORKING=yes
HOSTNAME=CentOS.SDW1
#不知道hostname有何用,还是区别开来算了
NTPSERVERARGS=iburst
GATEWAY=192.168.159.2
b.修改配置文件/etc/sysconfig/network-scripts/ifcfg-eth2
DEVICE="eth2"
ONBOOT=yes
NAME="system eth2 interface"
BOOTPROTO="static"
IPADDR=192.168.159.9
NETMASK=255.255.255.0
DNS1=192.168.159.2
GATEWAY=192.168.159.2
DEFROUTE=no
...


SDW2静态IP配置
a.修改配置文件/etc/sysconfig/network
NETWORKING=yes
HOSTNAME=CentOS.SDW2
NTPSERVERARGS=iburst
GATEWAY=192.168.159.2
b.修改配置文件/etc/sysconfig/network-scripts/ifcfg-eth2
DEVICE="eth2"
ONBOOT=yes
NAME="system eth2 interface"
BOOTPROTO="static"
IPADDR=192.168.159.10
NETMASK=255.255.255.0
DNS1=192.168.159.2
GATEWAY=192.168.159.2
DEFROUTE=no




SDW3静态IP配置
a.修改配置文件/etc/sysconfig/network
NETWORKING=yes
HOSTNAME=CentOS.SDW3
NTPSERVERARGS=iburst
GATEWAY=192.168.159.2
b.修改配置文件/etc/sysconfig/network-scripts/ifcfg-eth2
DEVICE="eth2"
ONBOOT=yes
NAME="system eth2 interface"
BOOTPROTO="static"
IPADDR=192.168.159.11
NETMASK=255.255.255.0
DNS1=192.168.159.2
GATEWAY=192.168.159.2
DEFROUTE=no


5.Greenplum Database 集群初始化
a.修改/etc/hosts文件,在文件结尾添加如下域名查找信息
192.168.159.8 CentOS mdw1
192.168.159.9 CentOS.SDW1 sdw1
192.168.159.10 CentOS.SDW2 sdw2
192.168.159.11 CentOS.SDW3 sdw3
b.所有开启sshd服务
service sshd start
c.建立hostfile-exkeys文件
mdw1
sdw1
sdw2
sdw3
d.交换key
#root执行
gpseginstall -f hostfile_exkeys -u gpadmin -p abc123
#切换gpadmin
gpssh-exkeys -f hostfile_segonly
#查看是否成功
gpssh -f hostfile_segonly
#分别建立数据目录
mkdir /usr/local/gpdb/data
mkdir /usr/local/gpdb/primary
mkdir /usr/local/gpdb/mirror
e.配置gpinitsystem_config配置文件,修改DATA_DIRECTORY等配置信息,注意hostname等信息保持一致
cp $GPHOME/docs/cli_help/gpconfigs/gpinitsystem_config   $GPHOME/
f.初始化数据库集群
gpinitsystem -c gpinitsystem_config -h hostfile_segonly 
至此GP数据库集群已完成安装与初始化
6.简单测试
createdb testDB
psql testDB
psql -l postgres
CREATE TABLE t1 AS SELECT * FROM generate_series(1, 1000);
SELECT gp_segment_id, count(1) FROM t1 GROUP BY gp_segment_id


参考
http://gpdb.rocks/gpdb/2015/10/29/how-to-build-gpdb.html
http://www.91pen.net/vmware-virtual-machine-centos-6-5-to-set-a-fixed-ip.html
http://www.cnblogs.com/dap570/archive/2015/03/21/greenplum_4node_install.html
0 0