大数据上云
主要问题
大数据上云面对的问题
1、集群管控工具 Ambari 的替换
- Ambari 是基于 CDH 的大数据管理平台,但是上云之后,云平台一般提供了自己的管控工具
- 原先的调用 YARN,到云上之后,可能是基于 k8s 的方式做调度,整个调度系统就全部要变了
- 好在调度系统本身是无状态的,而 Ambari 需要存储一些元数据,迁移时,Ambari 的替换将是一个大动作
2、安全性问题
- 自建IDC,或者私有部署,主要依赖 Ranger、Kerberos
- 上云之后,一般平台提供了相应版本的 Hive、Spark、Flink定制化组件
- 但如果要将自研组件跟这些组件打通,以及权限管理,也需要进一步细化
- 另外公有云,还需要搭建防火墙,ddos 等服务
3、数据治理方面
- CDH或者私有部署,一般利用开源的组件如 atlas,或者自研的
- 上云之后,一般云平台会提供相应的服务,这里需要对比两边的功能细节
- 数据治理的元数据存储,之前是本地的一些数据库或者 HDFS,现在也需要替换
4、成本问题
- 本地部署比较好预估,多少机器,机器配置,租用的还是自建的等
- 人员费用,电费,租金,CDH的license等
- 上云之后是按需计费,不同厂家不一样,需要详细的调研
- 重要的服务可以包时段计费,不那么重要的可以考虑抢占式收费策略
5、存储迁移
- 这是一个重点,尤其是本地 HDFS -> S3,两边协议不同,强一致 vs 最终一致
- 云上搭建HDFS集群是不可行的,无法利用云的弹性,而且云上存储本身有三副本,就变成 9 副本了
- Delta-Lake等数据格式,就是为了兼容 S3存储的问题而开发的,HDFS 的 API 和 S3 的 API 也不同
- HDFS -> S3,可以使用 JuiceFS 作为中间适配层
- 大数据组件的村算分离后,可以用 alluxio 作为缓存层
6、多云高可用
- ETL、计算都是无状态的,只有存储是有状态,但S3本身具有高可用
- 考虑到单云的锁定或者单点问题,需要考虑多云架构
- 比如数据,放到另一个云A上,做冷备存储降低成本
- 一些聚合后的应用数据,可以放到云B 上,准备好相应的服务,可以一键启动提供服务
- 多云之前的迁移需要走公网,数据传输费用可能较高,速度较慢
7、混合云
- 混合云架构,本地一些私有服务不想上云
- 需要混合云架构,需要考虑到安全性,网络传输安全性等
- 云上和下线的可能都需要打通,需要部署专线,费用问题需要单独核算
8、适配其他业务线
- 本地的大数据组件可能有些废弃了,云上有类似的 SaaS产品,需要做适当调整了
- 跟在线应用服务,偏OLTP相关的服务打通
- 跟机器学习相关组件打通,这个还好,云上都提供了相关服务
9、迁移细节
- 模拟1:1 的云上部署,将本地数据拉专线放到云上
- 模拟各种调度的,ETL,检查是否正常
- 计算引擎的各种SQL,在本地跑通过的,需要上云 1:1 检查,对比两边的性能,这块是关键
- 有些本地的上云可能升级了,或者云上没有,这些都需要调整
- 回滚方案
大数据上云
大致三类
- 自建 IDC 迁移上云
- CDH迁移上云
- 云上自建迁移