通过Docker部署Greenplum集群
2020-12-09 本文已影响0人
DebugWorld
本教程是通过GitHub用户lij55开源的Docker配置进行快速部署Greenplum集群。仅供开发人员测试学习使用,不可商用。
0X00、准备工作
- 安装docker:菜鸟教程
- 下载docker配置文件
git clone https://github.com/lij55/gphost.git
- 下载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

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

0X03、配置集群
登陆集群master节点,一定要是gpadmin用户。
# 登陆master节点
ssh -p 6222 gpadmin@127.0.0.1
# 或者 ssh -p 6222 gpadmin@0.0.0.0
# 密码: 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
不出意外就会安装成功。

0X04、测试集群
通过Navicat、dbeavor、pgadmin等客户端都可以连接。


0X05、参考
- GitHub: lij55/gphost
- 菜鸟教程: Docker