一、环境准备
- Docker
- docker-compose
- centos:7.5.1804 的 docker 镜像
- greenplum-db-5.14.0-rhel7-x86_64.bin 二进制文件
1、查看 docker 和 docker-compose 版本
[bigdata@local-vm-320 gp]$ docker -v
Docker version 19.03.5, build 633a0ea
[bigdata@local-vm-320 gp]$ docker-compose -v
docker-compose version 1.25.1, build a82fef0
2、greenplum-db 下载地址:
https://network.pivotal.io/products/pivotal-gpdb/

二、准备 gp docker 环境
1、创建 GreenPlum Docker 镜像文件 Dockerfile
FROM centos:7.5.1804
RUN yum -y update; yum clean all
RUN yum install -y \
net-tools \
ntp \
openssh-server \
openssh-clients \
less \
iproute \
which; yum clean all
RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ''
RUN groupadd gpadmin
RUN useradd gpadmin -g gpadmin
RUN echo gpadmin | passwd gpadmin --stdin
ENTRYPOINT ["/usr/sbin/sshd", "-D"]
2、执行如下命令,创建 docker 镜像
docker build -t gjm-centos-ssh .
3、通过 docker-compose 启动所需要的 greenplum 集群环境。docker-compose.yaml 文件内容如下:
version: "3.2"
services:
mdw:
image: gjm-centos-ssh
container_name: gpdb-mdw
tty: truesdw1:
image: gjm-centos-ssh
container_name: gpdb-sdw1
tty: truesdw2:
image: gjm-centos-ssh
container_name: gpdb-sdw2
tty: true
4、执行如下命令,运行所需要的环境
docker-compose up -d
三、部署 gp
1、通过 docker cp 命令将 greenplum-db-5.14.0-rhel7-x86_64.bin 拷贝到 mdw 的容器中。
docker cp greenplum-db-5.14.0-rhel7-x86_64.bin gpdb-mdw:/home/gpadmin
2、进入 gpdb-mdw 容器中,并切换到gpadmin用户下,查看刚拷贝的bin文件。
[bigdata@local-vm-320 ~]$ docker exec -it gpdb-mdw /bin/bash
[root@2e9585e22e2e /]# su - gpadmin
Last login: Sat May 9 07:26:03 UTC 2020 from 2e9585e22e2e on pts/6
3、执行greenplum的bin文件,将其安装在/home/gpadmin目录下.
[gpadmin@2e9585e22e2e ~]$ bash greenplum-db-5.14.0-rhel7-x86_64.bin
注意红色字体为需要输入的数据,参考如下:
********************************************************************************
Do you accept the Pivotal Database license agreement? [yes|no]
********************************************************************************yes
********************************************************************************
Provide the installation path for Greenplum Database or press ENTER to
accept the default installation path: /usr/local/greenplum-db-5.14.0
********************************************************************************/home/gpadmin/greenplum-db-5.14.0
********************************************************************************
Install Greenplum Database into /home/gpadmin/greenplum-db-5.14.0? [yes|no]
********************************************************************************yes
********************************************************************************
/home/gpadmin/greenplum-db-5.14.0 does not exist.
Create /home/gpadmin/greenplum-db-5.14.0 ? [yes|no]
(Selecting no will exit the installer)
********************************************************************************yes
Extracting product to /home/gpadmin/greenplum-db-5.14.0
********************************************************************************
Installation complete.
Greenplum Database is installed in /home/gpadmin/greenplum-db-5.14.0Pivotal Greenplum documentation is available
for download at http://gpdb.docs.pivotal.io
********************************************************************************
[gpadmin@67758e384c8c ~]$ ls
greenplum-db greenplum-db-5.14.0 greenplum-db-5.14.0-rhel7-x86_64.bin
4、创建目录 /home/gpadmin/gpconfig/ 和 文件 hostlist、seglist
[gpadmin@2e9585e22e2e ~]$ mkdir -p /home/gpadmin/gpconfig/
[gpadmin@2e9585e22e2e ~]$ cd /home/gpadmin/gpconfig/
[gpadmin@2e9585e22e2e ~]$ vi hostlist
[gpadmin@2e9585e22e2e ~]$ vi seglist
hostlist 内容如下
mdw
sdw1
sdw2
seglist 内容如下
sdw1
sdw2
5、Source the path file from your master host’s Greenplum Database installation directory
[gpadmin@2e9585e22e2e ~]$ cd
[gpadmin@2e9585e22e2e ~]$ source ~/greenplum-db/greenplum_path.sh
6、Config ssh key exchange(master server and gpadmin user)
[gpadmin@2e9585e22e2e ~]$ gpssh-exkeys -f /home/gpadmin/gpconfig/hostlist
输入 sdw1 密码:gpadmin
7、Run the gpseginstall utility referencing the hostfile_exkeys file you just created
[gpadmin@2e9585e22e2e ~]$ gpseginstall -f /home/gpadmin/gpconfig/seglist
8、Confirm installation
[gpadmin@2e9585e22e2e ~]$ gpssh -f ~/gpconfig/hostlist -e ls -l $GPHOME
9、Creating the Data Storage Areas
on master
[gpadmin@2e9585e22e2e ~]$ mkdir -p ~/data/master
on segments
[gpadmin@2e9585e22e2e ~]$ gpssh -f ~/gpconfig/seglist -e "mkdir -p ~/data/primary"
[sdw1] mkdir -p ~/data/primary
[sdw2] mkdir -p ~/data/primary
[gpadmin@2e9585e22e2e ~]$ gpssh -f ~/gpconfig/seglist -e "mkdir -p ~/data/mirror"
[sdw1] mkdir -p ~/data/mirror
[sdw2] mkdir -p ~/data/mirror
10、Make a copy of the gpinitsystem_config file to use as a starting point and edit it as you need
[gpadmin@67758e384c8c ~]$ cp /home/gpadmin/greenplum-db/docs/cli_help/gpconfigs/gpinitsystem_config ~/gpconfig/gpinitsystem_config
11、modify two line as following
vi ~/gpconfig/gpinitsystem_config
declare -a DATA_DIRECTORY=(/home/gpadmin/data/primary)
MASTER_DIRECTORY=/home/gpadmin/data/master

12、run the initialization utility
[gpadmin@2e9585e22e2e ~]$ gpinitsystem -c gpconfig/gpinitsystem_config -h gpconfig/seglist
参考内容如下:
[gpadmin@2e9585e22e2e ~]$ gpinitsystem -c gpconfig/gpinitsystem_config -h gpconfig/seglist
20200509:07:37:09:002513 gpinitsystem:2e9585e22e2e:gpadmin-[INFO]:-Checking configuration parameters, please wait...
20200509:07:37:09:002513 gpinitsystem:2e9585e22e2e:gpadmin-[INFO]:-Reading Greenplum configuration file gpconfig/gpinitsystem_config
20200509:07:37:09:002513 gpinitsystem:2e9585e22e2e:gpadmin-[INFO]:-Locale has not been set in gpconfig/gpinitsystem_config, will set to default value
20200509:07:37:09:002513 gpinitsystem:2e9585e22e2e:gpadmin-[INFO]:-Locale set to

本文详细介绍了在Docker环境下部署Greenplum数据库的过程,包括环境准备、Docker镜像创建、集群环境搭建、Greenplum数据库安装与初始化、环境变量配置等关键步骤,以及可能遇到的问题和解决方案。
最低0.47元/天 解锁文章
2709

被折叠的 条评论
为什么被折叠?



