-->

signed

QiShunwang

“诚信为本、客户至上”

使用Docker搭建Greenplum集群

2021/6/3 13:33:41   来源:

踩坑记录:

本地是mac的环境,docker 和docker compose 已经安装完成了, 都是最新版, 按照greenplum的github上的指导, 安装了mac的版本, 报错, 又安装了docker的版本还是报错, 没有办法, 选择了百度, 这篇恰好解决了问题.安装成功了.

 

本地安装docker 和 docker compose的步骤就省略了. 可以自己安装, 这个很常见. 就不意义废话了.

最后验证下是否已经安装成功了.

下面就开始新建Dockerfile文件了, 其中open-source-greenplum-db-6.16.1-rhel7-x86_64.rpm在这里哦,(posu)

#新建greenplum文件夹
mkdir greenplum
#上传greenplum安装包(open-source-greenplum-db-6.16.1-rhel7-x86_64.rpm)到greenplum文件夹下. 这个文件需要提前自己下载好.



#编辑Dockerfile文件
vi Dockerfile
#复制粘贴以下内容
FROM lyasper/gphost
COPY open-source-greenplum-db-6.16.1-rhel7-x86_64.rpm /home/gpadmin/greenplum-db.rpm
RUN rpm -i /home/gpadmin/greenplum-db.rpm --nodeps --force
RUN chown -R gpadmin /usr/local/greenplum-db*
RUN rm -f /home/gpadmin/greenplum-db.rpm





#编辑docker-compose.yml文件
vi docker-compose.yml
#复制粘贴以下内容
version: '3'
services:
  mdw:
    hostname: mdw
    image: "mygreenplum"
    ports:
      - "2222:22"
      - "5433:5432"
  sdw1:
    hostname: sdw1
    image: "mygreenplum"
  sdw2:
    hostname: sdw2
    image: "mygreenplum"
  etl:
    hostname: etl
    image: "mygreenplum"

 

执行Dockerfile文件

dokcer  build . -t mygreenplum

编译得到自己的镜像.

下面再执行docker-compose, 得到主从结构的greenplum.

docker-compose up -d

到此集群就已经启动了. 可以使用  docker  ps 查看正在运行的容器.

 

现在我们登陆到master节点上去进行greenplum的配置,

集群配置和初始化
登录master节点

ssh -p 2222 gpadmin@127.0.0.1  #密码: changeme

刷新配置文件

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

初始化集群配置, 我们只有两个节点。

./artifact/prepare.sh -s 2 -n 2

集群初始化

#刷新环境变量
source env.sh
#集群初始化
gpinitsystem -a -c gpinitsystem_config

初始化成功后如下

注意:如果第一次初始化失败,后续再次初始化的时候需要将之前的容器停止并刪除,否则会报错(切记),其实很简单,你只需要把创建的三个容器删除了,再次执行docker-compose up -d启动greenplum的集群,再次执行以上的命令,进行配置。
命令行登录。

#gpadmin超级用户无密码,登录master节点后直接执行以下命令即可登录
psql

为了远程登录集群,修改以下配置
# 登录master节点后,执行以下命令cd /home/gpadmin/master/gpseg-1

vi pg_hba.conf
# 最后一行添加如下內容
host    all     all     0.0.0.0/0       trust
# 修改后重启集群
gpstop -u

docker 安装greenplum就全部结束.  部分内容参考这个人的文章, 感谢.

 

2021年05月27日  更新,其他同事链接我的电脑的docker的安装的greelplum。

连接我本机:   ssh -p 2222 gpadmin@10.198.61.106    #密码: changeme
#gpadmin超级用户无密码,登录master节点后直接执行以下命令即可登录

链接上之后,执行sql是没有任何反应的。

需要执行一下的命令:

# 执行以下的命令,用于重新构建一遍环境变量
source /usr/local/greenplum-db/greenplum_path.sh
source env.sh

执行完成会后,再执行psql,就能进入greenplum了。非常的方便。哈哈哈.

链接后使用 gpstart -a 启动greenplum数据库.

 

如果嫌弃每次进来都执行上面的source命令麻烦, 可以修改.bash_profile .把上面的两条命令加上去就可以了,  只是稍微注意下路径.