• greenplum6.9踩坑总结


    最近做了greenplum 4.3 --> greenplum 6.9 的迁移升级, 踩坑无数, 先写个总结:

    • 迁移方案:

      • 构建新集群, 再将老集群数据迁移到新集群。
      • 自带的gptransfer不能用, 执行时会报一个参数不存在。
      • 最终只能回到原始的pg_dump。
      • 理想的方式是gptransfer大表, 小表dump。
      • greenplum 5开始不支持 date类型 --> text类型的自动隐式转换, 会导致部分sql兼容性问题。
    • 在使用mirror的情况下, 一次导入过多数据可能导致节点挂掉, 导致primary和mirror替换。

      • 临时的处理方案是导出数据时拆的更细一点

        # 原导出操作
        pg_dump -t 'dw.src*' dw | gzip > src.sql.gz
        
        # 拆分后的导出操作
        pg_dump -t 'dw.src_c*' dw | gzip > src_c.sql.gz
        pg_dump -t 'dw.src_e*' dw | gzip > src_e.sql.gz
        pg_dump -t 'dw.src_f*' dw | gzip > src_f.sql.gz
        ... etc
        
        • 实践下来是没有问题的。
    • 客户环境问题

      • 偶尔会出现cpu异常导致的软中断进程ksoftrqd占满资源, 具体底层应该和他们那一套基于openstack的超融合虚拟机的问题, 与我无瓜。
    • 性能问题

      • Greenplum的查询优化器对一个节点上多个segment的集群有比较好的优化, 一开始部署一台一个节点的时候性能反而不如老集群, 与官方社区沟通后是查询优化器的问题, 后来一个节点上装了3个segment后性能显著提升, 复杂sql比老集群快了一倍多。

      • 使用的gpinitsystem_config

        #数据库代号
        ARRAY_NAME="Greenplum"
        
        #segment前缀
        SEG_PREFIX=gpseg
        
        #primary segment 起始的端口号
        PORT_BASE=33000
        
        #指定primary segment的数据目录,网上写的是多个相同目录,多个目录表示一台机器有多个segment
        declare -a DATA_DIRECTORY=(/home/gpadmin/data/datap1 /home/gpadmin/data/datap2 /home/gpadmin/data/datap3)
        
        #master所在机器的host name
        MASTER_HOSTNAME=mdw
        
        #master的数据目录
        MASTER_DIRECTORY=/home/gpadmin/data/master
        
        #master的端口
        MASTER_PORT=5432
        
        #指定bash的版本
        TRUSTED_SHELL=/usr/bin/ssh
        
        #将日志写入磁盘的间隔,每个段文件通常 =16MB < 2 * CHECK_POINT_SEGMENTS + 1
        CHECK_POINT_SEGMENTS=8
        
        #字符集
        ENCODING=UNICODE
        
        #mirror segment 起始的端口号
        MIRROR_PORT_BASE=44000
        
        # mirror的数据目录,和主数据一样,一个对一个,多个对多个
        declare -a MIRROR_DATA_DIRECTORY=(/home/gpadmin/data/datam1 /home/gpadmin/data/datam2 /home/gpadmin/data/datam3)
        
  • 相关阅读:
    Js判断是否改动
    导入用户数据到Discuz! X3.2 并实现同步登陆
    win2003(sp2 x86)+iis6+php-5.3.5-Win32 配置
    bblittle.com
    Macbook Hbase(1.2.6) 伪分布式安装,Hadoop(2.8.2) ,使用自带zookeeper
    LeetCode 696. Count Binary Substrings
    LeetCode 637. Average of Levels in Binary Tree
    LeetCode 226. Invert Binary Tree
    LeetCode 669. Trim a Binary Search Tree
    LeetCode 575. Distribute Candies
  • 原文地址:https://www.cnblogs.com/ronnieyuan/p/13594740.html
Copyright © 2020-2023  润新知