ITPub博客

Greenplum集群部署小记

原创 PostgreSQL 作者:jeanron100 时间:2018-06-02 10:03:12 0 删除 编辑

Greenplum的分布式架构方案MPP对于海量数据处理还是很给力的,今天专门抽时间搭建了一下测试环境。

首先来简单看下Greenplum的架构,这个和Oracle,MySQL还是大不同。

它里面几乎糅括了所有的主从角色概念,比如GP节点就类似于一个集群分发器,是有standby的角色的,数据节点是segment,是有primary和mirror做为互备高可用的。

Greenplum集群部署小记

限于环境情况,我用了3台虚拟机来模拟这个集群。

其中gp01是GP计算节点,gp02,gp03是segment和mirro节点。

192.168.206.129 gp01

192.168.206.128 gp02

192.168.206.130 gp03

GP节点的standby在gp02上面。

部署的时候我用了4个segment.

所以gp02上面的结构是这样的:

primary1

primary2

mirror1

mirror2

gp_standby

gp03的结构是这样的:

primary3

primary4

mirror3

mirror4

搭建GP的过程其实还是有点曲折的,但是技术点其实不是很多,回过头来看复杂度其实还好。

我们需要创建GP的标准用户,比如gpadmin

groupadd gpadmin

useradd -g gpadmin gpadmin

passwd gpadmin

为了能够在各个节点上面做到适配和统一,每个节点都可以建立一套统一的目录结构,比如:

cd /data

mkdir -p /data/greenplum_data/{gpmaster,gpdatap1,gpdatap2,gpdatap3,gpdatap4,gpdatap5,gpdatap6,gpdatam1,gpdatam2,gpdatam3,gpdatam4,gpdatam5,gpdatam6}

chown -R gpadmin:gpadmin /data/greenplum_data/

需要注意的是主机的配置,这里建议是使用主机名的方式,避免是IP的方式。

cat /etc/hosts

192.168.206.129 gp01

192.168.206.128 gp02

192.168.206.130 gp03

前期的基本准备就差不多这些,比如内核参数,比如安装包等先略过了。

值得一提的是两个工具gpssh和gpscp,是用Python实现的,可以简单封装一下,就能拿过来自己用了。在部署的时候还是很清晰的。

gpssh

gpscp

还有一点不错的就是GP的安装自带了一个配置文件,这个确实很省事。

source /usr/local/greenplum-db/greenplum_path.sh

软件的部署就是解压的过程,没什么可说的了。

说下创建数据库吧。

初始化几个变量:

export MASTER_DATA_DIRECTORY=/data/greenplum_data/gpmaster

export PGPRORT=5432

export PGDATABASE=testDB

核心就是配置文件 init_seg_mirror_config了,内容如下:

ARRAY_NAME="Greenplum"

MACHINE_LIST_FILE=/usr/local/greenplum-db/config/seg_hosts

SEG_PREFIX=gpseg

PORT_BASE=33000

declare -a DATA_DIRECTORY=(/data/greenplum_data/gpdatap1 /data/greenplum_data/gpdatap2 )

MASTER_HOSTNAME=gp01

MASTER_DIRECTORY=/data/greenplum_data/gpmaster

MASTER_PORT=5432

TRUSTED_SHELL=ssh

CHECK_POINT_SEGMENTS=8

ENCODING=UTF-8

MIRROR_PORT_BASE=43000

REPLICATION_PORT_BASE=34000

MIRROR_REPLICATION_PORT_BASE=44000

declare -a MIRROR_DATA_DIRECTORY=(/data/greenplum_data/gpdatam2 /data/greenplum_data/gpdatam1)

DATABASE_NAME=testDB

安装使用如下的方式即可。

gpinitsystem -c ./init_seg_mirror_config --locale=C --max_connections=48 --su_password=gpadmin -s gp02

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2012-05-14

  • 博文量
    1667
  • 访问量
    14183857