在Mac上使用Docker搭建Greenplum集群

2023-03-29 00:00:00 集群 执行 命令 节点 初始化

踩坑记录:

本地是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 .把上面的两条命令加上去就可以了, 只是稍微注意下路径.


本文来源:https://blog.csdn.net/u010398771/article/details/117297063

相关文章