ITPub博客

首页 > 数据库 > > docker搭建greenplum集群

docker搭建greenplum集群

作者:TTT1234 时间:2023-03-06 10:52:18 0 删除 编辑

准备环境
centos版本:CentOS Linux release 7.6.1810
docker版本:Docker version 19.03.13
greenplum版本: greenplum-db-6.4.0
greenplum下载 提取码:oumt

离线环境下安装docker
1.从docker官方下载安装包
2.内网环境中安装docker

#创建文件夹
mkdir docker 在这里插入代码片
#上传解压tar包
tar -zxvf docker-19.03.7.tgz
#将docker包下的指令移动到/usr/bin目录下
mv docker/* /usr/bin/
#配置代理,使docker可以从仓库拉镜像
mkdir /etc/systemd/system/docker.service.d
echo /etc/systemd/system/docker.service.d/http-proxy.conf
#在http-proxy.conf中配置一下内容
[Service]
Environment="HTTP_PROXY=http://ip:port/" "HTTPS_PROXY=http://ip:port/" "NO_PROXY=localhost,127.0.0.1,×.×.×.×"
#刷新配置,重启docker服务:
sudo systemctl daemon-reload
sudo service docker restart
#检查是否配置成功
systemctl show --property=Environment docker #如果配置成功,执行该命令将会看到配置的代理信息
#配置国内镜像源
echo /etc/docker/daemon.json
#复制粘贴时注意json格式
{
"registry-mirrors": ["http://hub-mirror.c.163.com","https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn"]
}

#查看是否配置成功:
sudo docker info


  • 如果docker服务没有启动成功:参考一下解决办法
    关闭se :sudo setenforce 0(需要root)
    将以下文件放入 /etc/systemd/system/docker.service 中
  • [Unit]

    Description=Docker Application Container Engine

    Documentation=https://docs.docker.com

    After=network-online.target firewalld.service

    Wants=network-online.target


    [Service]

    Type=notify

    # the default is not to use systemd for cgroups because the delegate issues still

    # exists and systemd currently does not support the cgroup feature set required

    # for containers run by docker

    ExecStart=/usr/bin/dockerd

    ExecReload=/bin/kill -s HUP $MAINPID

    # Having non-zero Limit*s causes performance problems due to accounting overhead

    # in the kernel. We recommend using cgroups to do container-local accounting.

    LimitNOFILE=infinity

    LimitNPROC=infinity

    LimitCORE=infinity

    # Uncomment TasksMax if your systemd version supports it.

    # Only systemd 226 and above support this version.

    #TasksMax=infinity

    TimeoutStartSec=

    # set delegate yes so that systemd does not reset the cgroups of docker containers

    Delegate=yes

    # kill only the docker process, not all processes in the cgroup

    KillMode=process

    # restart the docker process if it exits prematurely

    Restart=on-failure

    StartLimitBurst=3

    StartLimitInterval=60s

    [Install]

    WantedBy=multi-user.target
    • 启动服务
    #添加文件权限并启动docker
    chmod +x /etc/systemd/system/docker.service
    #重载unit配置文件
    systemctl daemon-reload
    #启动Docker
    systemctl start docker
    #设置开机自启
    systemctl enable docker.service

    离线安装docker-compose

    下载docker-compose
    docker-compose-Linux-x86_64

    #移动到/usr/local/bin目录下并修改名称
    sudo mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
    #添加可执行权限
    sudo chmod +x /usr/local/bin/docker-compose
    #查看是否成功
    docker-compose -v

    docker-compose安装greenplum

    #新建greenplum文件夹
    mkdir docker/greenplum
    #上传greenplum安装包到greenplum文件夹下
    #编辑Dockerfile文件
    vi Dockerfile
    #复制粘贴以下内容
    FROM lyasper/gphost
    COPY greenplum-db-6.4.-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文件
    docker build . -t mygreenplum

    • 执行成功后如下




    执行docker-compose

    docker-compose up -d

    集群配置和初始化

    • 登录master节点
    ssh -p 2222 gpadmin@127...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


    • 初始化成功后如下

    • 注意:如果第一次初始化失败,后续再次初始化的时候需要将之前的容器停止并刪除,否则会报错
    • 命令行登录
    #gpadmin超级用户无密码,登录master节点后直接执行以下命令即可登录
    psql
    #如果想修改gpadmin密码可执行
    alter user gpadmin with password 'new password';
    • 远程登录集群,修改以下配置
    # 登录master节点后,执行以下命令cd /gpadmin/master/gpseg-1
    vi pg_hba.conf
    # 最后一行添加如下內容
    host all all 0.0.0.0/ md5
    # 修改后重启集群
    gpstop -u
    • 至此,docker安裝greenplum完成。



    本文来源:https://blog.csdn.net/weixin_41197407/article/details/112303178

    来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69953058/viewspace-3147071/ ,如需转载,请注明出处,否则将追究法律责任。

    请登录后发表评论 登录
    全部评论

    注册时间:2019-11-13

    • 博文量
      566
    • 访问量
      5228