数据迁移到MRS前信息收集
由于离线大数据搬迁有一定的灵活性,迁移前需要掌握现有集群的详细信息,以能够更好的进行迁移决策。
业务信息调研
- 大数据平台及业务的架构图。
- 大数据平台和业务的数据流图(包括峰值和均值流量等)。
识别平台数据接入源、大数据平台数据流入方式(实时数据上报、批量数据抽取)、分析平台数据流向。
数据在平台内各个组件间的流向,比如使用什么组件采集数据,采集完数据后数据如何流向下一层组件,使用什么组件存储数据,数据处理过程中的工作流等。
- 业务作业类型Hive SQL、Spark SQL、Spark Python等,是否需要使用MRS的第三方包,参考MRS应用开发样例。
- 调度系统,需要考虑调度系统对接MRS集群。
- 迁移后,业务割接允许中断时长,识别平台业务优先级。
- 客户端部署要求。
- 业务执行时间段和高峰时间段。
- 大数据集群的数量和大数据集群功能划分,分析平台业务模型。
各个集群或各个组件分别负责什么业务,处理什么类型的数据。比如实时/离线数据分别使用什么组件处理、数据格式类型、压缩算法等。
集群基本信息收集
参数 |
说明 |
---|---|
集群名称 |
- |
集群版本 |
MRS、CDM等集群的版本信息。 |
节点数及规格 |
调研现有集群节点数和节点规格。 如果集群硬件异构,请收集多种规格和对应节点数,参见表2。 例如:
|
是否开启Kerberos认证 |
是或否 |
权限控制及说明 |
调研各个开启ACL权限控制的组件和配置,通常涉及Yarn、Hive、Impala、HBase等组件。 使用Ranger、Sentry或组件开源的权限能力进行权限控制。 |
所在Region/AZ |
云上资源填写项 |
虚拟私有云 |
云上资源填写项 |
子网 |
云上资源填写项 |
安全组 |
云上资源填写项 |
节点组 |
CPU和内存信息 |
磁盘和网络(按节点组统计) |
HDFS |
Yarn |
||||
---|---|---|---|---|---|---|---|---|
- |
- |
磁盘信息(数据盘大小、磁盘IO、当前磁盘使用率和IO情况) |
网络(网卡带宽大小、网络读写速度和峰值) |
NameNode |
DataNode |
JournalNode |
NodeManager |
ResourceManager |
master1 |
(16U64G) |
- |
- |
1 |
- |
1 |
- |
1 |
master2 |
(16U64G) |
- |
- |
1 |
- |
1 |
- |
1 |
master3 |
(16U64G) |
- |
- |
- |
- |
1 |
- |
- |
Core-group1 |
(32U128G)*数量 |
- |
- |
- |
1 |
- |
1 |
- |
Core-group1 |
(32U129G) |
- |
- |
- |
- |
- |
- |
- |
Core-group1 |
(32U130G) |
- |
- |
- |
- |
- |
- |
- |
大数据组件信息
使用的大数据组件信息和规划的新版本大数据集群版本信息比较,主要识别版本差异可能对迁移过程的影响,以及对迁移后业务兼容性的影响。
大数据组件 |
源端集群版本 |
目的端集群版本(以MRS集群版本为准) |
说明 |
---|---|---|---|
HDFS/OBS(或其他文件存储系统) |
Hadoop 2.8.3 |
Hadoop 3.3.1 |
- |
Hive |
1.2.1 |
2.3.3 |
存储元数据的数据库:MySQL |
HBase |
1.3.1 |
1.3.1 |
- |
Spark |
2.2.2 |
3.1.1 |
- |
Kafka |
1.1.0 |
2.11-2.4.0 |
- |
Oozie |
2.x |
5.1.0 |
- |
MySQL |
5.7.1 |
RDS |
- |
Flink |
1.7 |
1.15 |
- |
... |
... |
... |
- |
待迁移的存量数据及数据量统计
大数据组件 |
待迁移数据的路径 |
数据量大小 |
文件个数或表个数 |
---|---|---|---|
HDFS/OBS(或其他文件存储系统) |
/user/helloworld |
XXX |
总共:XXX个文件 小于2 MB的文件数量:XXX个 |
Hive |
/user/hive/warehouse/ |
XXX |
表个数:XXX |
HBase |
/hbase |
XXX |
表个数:XXX Region个数:XXX |
每天新增数据量统计
大数据组件 |
待迁移的数据路径 |
新增数据量大小 |
---|---|---|
HDFS/OBS(或其他文件存储系统) |
/user/helloworld |
XXX |
Hive |
/user/hive/warehouse/ |
XXX |
HBase |
/hbase |
XXX |
网络出口带宽能力
- 迁移数据可以使用的最大网络带宽和专线带宽(是否可调)。
- 迁移数据作业每天可以运行的时间段。
流式Kafka集群信息收集
收集信息项 |
描述 |
---|---|
Kafka的Topic数量和名称 |
- |
Kafka的本地数据暂存时间 |
如果每个Topic配置不一样,按Topic粒度收集。 |
每个Topic的副本数和Partition数量 |
默认为2,副本数越多数据越可靠,也会消耗磁盘空间。 如果每个Topic配置不一样,按Topic粒度收集。 |
Kafka生产和消费的流量大小 |
细化到Topic级别。 |
Kafka客户端ACK配置Acks |
- |
数据迁移模型样例
- 一个离线分析平台的客户业务系统,由Spark Streaming消费Kafka数据存入HDFS,HDFS上进行小文件合并后加载到Hive表中,运营人员可以通过Presto进行Hive数据查询。
图1 源集群业务图
- 针对大数据离线平台包括HDFS和Hive数据需要迁移,Kafka、Spark Streaming、HDFS、Hive、Presto的业务程序要在目的端集群上部署。
图2 迁移示意图