分享知识,分享快乐

0%

数据平台规划方案

大数据平台现状

  • 总可用节点:36个(各节点内存512G,CPU 56核)
  • 总可用内存:9.38T(平均每个节点开放260G)
  • 总可用CPU:1120个(平均每个节点开放31个)

包含了文件存储、计算、数据库等集群服务。

现有集群职能包括:

  • 离线OLAP数据调度同步(原始数据)
  • 各产品线离线生产任务(雷达、探针、定制产品、回溯测试等业务)
  • 离线OLTP数据更新(HBase数据更新)
  • 线下模型、数据测试(商户定制与联合建模)
  • 模型训练、迭代与更新(评分卡、推荐、联合模型等)
  • 基础数据实时流(底层实时数据处理)
  • 各产品线实时流计算(雷达、探针等上层业务)
  • 日常数据分析任务(大量数据分析、行业分析等需求)
  • OLTP数据库服务(HBase)
  • 监控报表任务(BI、数据监控等)
  • 数据仓库(数据整合、清洗、调度等)
  • 宝付大数据平台相关任务(Spark、Hive、Impala等)

由于当前集群职能繁多,网络带宽、磁盘IO等为集群共享,会因大型离线任务占用大量网络或磁盘IO峰值,对线上业务会造成短暂延迟。且集群环境较为复杂,有较多对线上业务造成影响的风险。

规划方案

鉴于后续业务发展,大数据平台的使用人数和执行任务将会快速上升,为了避免对线上业务的直接影响,提议部署一个次规模(20个节点内)的生产集群(以下简称在线集群)承接部分职能,减轻现有集群(以下简称离线离线计算集群)的压力,同时规划与隔离不同等级的任务。

在线集群主要职能为OLTP数据库服务(HBase),将业务主库迁移至在线集群可保证业务不受任何大规模计算任务(或者计算量比较集中的情况)所带来的延迟影响。

除此之外,在线集群将不会进行其他任何程序与任务以保证线上服务的稳定性。

将业务主库分离出去之后,离线计算集群的HBase将作为中间件为流式计算等系统提供服务(同时兼业务备库使用,在需要重启等情况下可以相互切换)。

此时离线计算集群的定位为执行大规模、密集的数据分析、计算、模型等计算资源消耗巨大的任务,在线集群的定位为稳定的业务数据服务。

由于离线计算集群承载了大部分任务,随着业务发展,后续会有更多计算需求产生(如设备指纹与爬虫数据的分析与计算),需要离线计算集群能够方便、快速的进行横向扩容。

迁移方案

将使用新采购机器(50台)在新机房部署两个集群(在线+离线计算),使用的节点个数待定。

在线集群的HBase服务对部署参数、分区配置策略进行优化调整,同时确认跨集群数据同步方案与程序。

集群准备就绪后:

1.同步老机房线上所有业务数据至新机房的在线集群。
2.将老机房集群上数据同步、生产调度任务等相关程序、脚本和配置迁移至新机房的离线计算集群。
3.老机房业务与任务确认迁移完成后,停机下线(分批)调整至新机房并入离线计算集群中,在线集群视情况调整一些新机器扩容。

以上步骤需要整理详细操作过程和确认完成时间点。

离线计算集群资源池

当前离线计算集群的资源池划分为宝付的production、development,新颜的production、development,在集群承载了比较多的职能的时候此划分方案已经不满足需求,建议对新颜的资源池进行更详细的划分:

  • stream:流式计算系统使用,占比10%
  • model:模型训练与标签系统使用,占比30%
  • experiment:联合建模与商户线下测试使用,占比20%
  • production:离线生产任务使用,占比20%
  • development:测试任务与日常分析使用,占比20%

以上分配占比仅为预估,需要根据实际情况(包括新采购需求添加之后的集群情况)重新调整。