通过Docker部署Greenplum集群

本教程是通过GitHub用户lij55开源的Docker配置进行快速部署Greenplum集群。仅供开发人员测试学习使用,不可商用。

0X00、准备工作

  1. 安装docker:菜鸟教程
  2. 下载docker配置文件
git clone https://github.com/lij55/gphost.git
  1. 下载Greenplum,lij55的配置文件分5.x和6.x的版本,根据自己的需求把Greenplum-db-xxx.rpm放到对应的example目录下。本教程采用的是greenplum-db-6.12.0-rhel7-x86_64.rpm,所以需要放到exampale6目录下。
% ls -l gphost/example6

build.sh
docker-compose.yaml
Dockerfile
greenplum-db-6.12.0-rhel7-x86_64.rpm
readme.org
reset

0X01、生成镜像

在下载的gphost/example6中有配置好的Dockerfile,最终会生成mygreenplum6、lyasper/gphost两个镜像。

# cd gphost/example6
% docker build . -t mygreenplum6
image

0X02、启动容器

容器通过docker-compose进行管理,在gphost/example6中有配置好的docker-compose.yaml,默认有1个master节点、2个segment节点、1个etl服务器,可根据自己的需求修改docker-compose.yaml文件。

docker-compose up -d
image

0X03、配置集群

登陆集群master节点,一定要是gpadmin用户。

# 登陆master节点
ssh -p 6222 [email protected]
# 或者 ssh -p 6222 [email protected]
# 密码: changeme

# 初始化配置文件
source /usr/local/greenplum-db/greenplum_path.sh

# 配置greenplum文件
artifact/prepare.sh -s 2 -n 2
# -s: segment(容器)的个数
# -n: 每个segment(容器)上primary的个数

# 初始化集群,会生成env.sh 文件(greenplum所需的环境变量)
gpinitsystem -a -c gpinitsystem_config
source env.sh

# 开启远程无密码访问
artifact/postinstall.sh

# 查看安装结果
ps -ef | grep postgres

不出意外就会安装成功。


image

0X04、测试集群

通过Navicat、dbeavor、pgadmin等客户端都可以连接。


image

image

0X05、参考

  1. GitHub: lij55/gphost
  2. 菜鸟教程: Docker

你可能感兴趣的:(通过Docker部署Greenplum集群)