• CentOS7.x部署GreenPlum6.x


    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


    前言

    提示:这里可以添加本文要记录的大概内容:

    之前学习hadoop为核心的平台,因为和传统数据库差异比较大,所以前段时间学习hadoop,也就是有所理解入门,虽然它扩展性强,成本低,开源生态优势,但是也出现兼容性差,查询性能不足,架构复杂等问题。最近发现了以GreenPlum为代表的MPP架构分布式关系型数据库出现,开源架构也没hadoop那么复杂,也能满足企业的分布式数据库和数据分析,GreenPlum和hadoop有些地方挺相似的


    提示:以下是本篇文章正文内容,下面案例可供参考

    一、GreenPlum是什么?

    Greenplum主要由Master节点、Segment节点、interconnect三大部分组成。Greenplum master是Greenplum数据库系统的入口,接受客户端连接及提交的SQL语句,将工作负载分发给其它数据库实例(segment实例),由它们存储和处理数据。Greenplum interconnect负责不同PostgreSQL实例之间的通信。Greenplum segment是独立的PostgreSQL数据库,每个segment存储一部分数据。大部分查询处理都由segment完成。

    二、使用步骤

    1.环境说明

    软件版本
    虚拟机VMware 16
    操作系统CentOS-7-x86_64
    数据库Greenplum 6.18.1

    2.集群介绍

    搭建的 Greenplum 集群,我这里是使用5台虚拟机做的测试,配置在4c + 4G + 40G就够了。
    使用1个 Master ,1个standby,3个 Segment 的集群,如下:

    IP主机名节点
    192.168.1.201mdw1master
    192.168.1.202smdw1standby
    192.168.1.203sdw1segment
    192.168.1.204sdw2segment
    192.168.1.205sdw3segment

    3.修改主机名(root)

    代码如下(示例):

    hostnamectl set-hostname mdw1
    hostnamectl set-hostname smdw1
    hostnamectl set-hostname sdw1
    hostnamectl set-hostname sdw2
    hostnamectl set-hostname sdw3
    
    • 1
    • 2
    • 3
    • 4
    • 5

    4.网络映射(root)

    代码如下(所有节点):

    vim /etc/hostname
    192.168.1.201   mdw1
    192.168.1.202   smdw1
    192.168.1.203   sdw1
    192.168.1.204   sdw2
    192.168.1.205   sdw3
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    5.创建安装目录

    代码如下(所有节点):

    mkdir -p /gpdata/gpadmin/greenplum
    chown -R gpadmin:gpadmin /gpdata/gpadmin/greenplum
    
    • 1
    • 2

    6.安装部署

    代码如下(主节点):

    yum install apr apr-util krb5-devel libyaml rsync zip libevent
    cd /mnt/hgfs/Share
    cp greenplum-db-6.18.1-rhel7-x86_64.rpm  /gpdata/gpadmin/greenplum
    
    cd /gpdata/gpadmin/greenplum
    rpm -ivh --prefix=/gpdata/gpadmin/greenplum/ greenplum-db-6.18.1-rhel7-x86_64.rpm
    
    --赋权限
    chown -R gpadmin:gpadmin /gpdata/gpadmin/greenplum
    
    --应用环境变量
    su gpadmin
    source /gpdata/gpadmin/greenplum/greenplum-db-6.18.1/greenplum_path.sh
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    7.SSH (免密登录)

    代码如下(所有节点):

    su gpadmin
    ssh-keygen -t rsa
    
    --添加信任其他机器的Host key (所有节点)
    ssh-copy-id mdw1
    ssh-copy-id smdw1
    ssh-copy-id sdw1
    ssh-copy-id sdw2
    ssh-copy-id sdw3
    
    --创建节点配置文件(mdw1@hadoop) all_hosts:全部节点  seg_hosts:数据节点
    vim /gpdata/gpadmin/greenplum/all_hosts
    cat /gpdata/gpadmin/greenplum/all_hosts
    mdw1
    smdw1
    sdw1
    sdw2
    sdw3
    
    vim /gpdata/gpadmin/greenplum/seg_hosts
    cat /gpdata/gpadmin/greenplum/seg_hosts
    sdw1
    sdw2
    sdw3
    
    --验证节点之间的SSH是否全部打通
    source gpdata/gpadmin/greenplum/greenplum-db-6.18.1/greenplum_path.sh
    cd /gpdata/gpadmin/greenplum
    
    gpssh-exkeys -f /gpdata/gpadmin/greenplum/all_hosts
    # 分发节点2
    scp -r /gpdata/gpadmin/greenplum gpadmin@smdw1:/gpdata/gpadmin
    scp -r /gpdata/gpadmin/greenplum gpadmin@sdw1:/gpdata/gpadmin
    scp -r /gpdata/gpadmin/greenplum gpadmin@sdw2:/gpdata/gpadmin
    scp -r /gpdata/gpadmin/greenplum gpadmin@sdw3:/gpdata/gpadmin
    
    cd /gpdata/gpadmin/greenplum
    ln -s greenplum-db-6.18.1 greenplum-db
    ln -s greenplum-db-6.18.1 greenplum-db
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39

    8.环境配置

    代码如下(示例):

    mkdir -p /home/gpadmin/data/master
    
    
    --gp的安装目录,和环境信息到用户的环境变量中(所有节点)。
    vim /gpdata/gpadmin/greenplum/greenplum-db/greenplum_path.sh
    
    GPHOME=/gpdata/gpadmin/greenplum/greenplum-db
    
    vim ~/.bashrc
    source /gpdata/gpadmin/greenplum/greenplum-db/greenplum_path.sh
    export MASTER_DATA_DIRECTORY=/home/gpadmin/data/master/gpseg-1
    export PGPORT=5432
    export PGUSER=gpadmin
    export PGDATABASE=gpdb
    
    --Segment节点
    source /gpdata/gpadmin/greenplum/greenplum-db/greenplum_path.sh
    gpssh -f /gpdata/gpadmin/greenplum/seg_hosts -e 'mkdir -p /home/gpadmin/data/primary'
    gpssh -f /gpdata/gpadmin/greenplum/seg_hosts -e 'mkdir -p /home/gpadmin/data/mirror'
    
    #初始化配置文件编辑修改(master节点上操作)
    mkdir /home/gpadmin/gpconfigs
    
    cp /gpdata/gpadmin/greenplum/greenplum-db/docs/cli_help/gpconfigs/gpinitsystem_config /home/gpadmin/gpconfigs/gpinitsystem_config
    
    vim /home/gpadmin/gpconfigs/gpinitsystem_config
    
    #初始化数据库
    gpinitsystem -c /home/gpadmin/gpconfigs/gpinitsystem_config -h /data/greenplum/seg_hosts
    
    #standby 初始化
    gpinitstandby -s smdw1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    9.安装成功

    代码如下(主节点):

    psql 登录数据库
    psql -d gpdb
    \l  查看
    \q  退出
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述
    代码如下(主节点):

    greenplum命令
    • 关闭
    gpstop
    • 启动
    gpstart
    • 状态查看
    gpstate
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

    10.使用DBeaver访问

    在这里插入图片描述


    总结

    提示:记录点点

  • 相关阅读:
    06-kafka及异步通知文章上下架
    webpack-cli 在 webpack 打包中的作用
    字符输入转换流&字符输出转换流
    网络编程之POP3协议邮箱收信
    【VUE】elementUI table表格 列表错位
    非关系型数据库技术课程 第三周作业(Redis中的订阅与发布、事务机制、集合(set)数据类型实验)
    [SLAM] 旋转的表示
    JVM入门
    自定义类型:结构体(二)位段实现
    【深入理解设计模式】模板方法模式
  • 原文地址:https://blog.csdn.net/panda_225400/article/details/127736955