Greenplum 扩容遇到问题后的心得体会

来源:互联网 发布:淘宝店铺优惠券 编辑:程序博客网 时间:2024/04/29 01:07

1 实例数控制在20个  

   目前集群的事实表没有适应大部聚合查询的分布键 所以在group by是slice分布交替数据重分布数据广播时开销很大 实例数最好控制在30个以内  至少在芒果TV的应用场景中在32个实例的时候 group查询会卡得不行     80个实例集群相当于完全用不了(一个机器装2个primary )

2 单机单实例  

   单机多实例运行时 OOM错误不好控制 并发数也会受到限制

3 单次扩容实例数量不要超过集群本来的实例数量  

  如果扩容的实例数量>=集群本来的实例数量 可以分多次扩容 ,如果单次扩容的实例数量>=集群本来的实例数量 在扩展的时候会卡住并且没有错误提示,只能手动干掉扩容程序 再次回滚,即使primayr起来了   手动full模式修复了mirror ,集群状态是对的 但集群仍然不可用 必须回滚 

4 刷新相关参数  

  在扩容前先刷新 sysctl.conf 中的内核参数  limits.conf 限制参数 磁盘调度 预读块设置等参数  并保证生效

5 gpcheckperf   

   在扩容前先 gpcheckperf  检测集群网络通信 IO情况

6 确认扩容后的查询效率  

   扩容后先检查一下group by,join 的查询效率,如果效率不理想可以用 master模式  删除config表中新机器的记录来回滚本次扩容

7 确认自动平衡集群历史数据   

   自动平衡集群历史数据是很花费时间的操作 如果不需要自动平衡数据可 gpexpand -c ,避免下次扩容看到一些提示(对于新手可能会很茫然)

0 0