
# 数据迁移到MRS前信息收集
由于离线大数据搬迁有一定的灵活性，迁移前需要掌握现有集群的详细信息，以能够更好地进行迁移决策。
#### 业务信息调研
1. 大数据平台及业务的架构图。
2. 大数据平台和业务的数据流图（包括峰值和均值流量等）。 识别平台数据接入源、大数据平台数据流入方式（实时数据上报、批量数据抽取）、分析平台数据流向。
   数据在平台内各个组件间的流向，比如使用什么组件采集数据，采集完数据后数据如何流向下一层组件，使用什么组件存储数据，数据处理过程中的工作流等。
   
3. 业务作业类型Hive SQL、Spark SQL、Spark Python等，是否需要使用MRS的第三方包，参考[MRS应用开发样例](https://support.huaweicloud.com/devg3-mrs/mrs_07_010000.html)。
4. 调度系统，需要考虑调度系统对接MRS集群。
5. 迁移后，业务割接允许中断时长，识别平台业务优先级。 识别在迁移过程中不能中断的业务、可短时中断的业务、整体业务迁移可接受的迁移时长，梳理业务迁移顺序。
   
6. 客户端部署要求。
7. 业务执行时间段和高峰时间段。
8. 大数据集群的数量和大数据集群功能划分，分析平台业务模型。 各个集群或各个组件分别负责什么业务，处理什么类型的数据。比如实时/离线数据分别使用什么组件处理、数据格式类型、压缩算法等。
   
 
#### 集群基本信息收集
表1集群基本信息 
| 参数             | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|
| 集群名称           | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| 集群版本           | MRS、CDM等集群的版本信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| 节点数及规格         | 调研现有集群节点数和节点规格。 如果集群硬件异构，请收集多种规格和对应节点数，参见[表2]。 例如： - 2台32U64G机器部署NameNode + ResourceManager  - 2台32U64G机器部署HiveServer  - 20台16U32G机器部署DataNode和NodeManager   |
| 是否开启Kerberos认证 | 是或否                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| 权限控制及说明        | 调研各个开启ACL权限控制的组件和配置，通常涉及Yarn、Hive、Impala、HBase等组件。 使用Ranger、Sentry或组件开源的权限能力进行权限控制。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| 所在Region/AZ    | 云上资源填写项                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| 虚拟私有云          | 云上资源填写项                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| 子网             | 云上资源填写项                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| 安全组            | 云上资源填写项                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   
 表2硬件信息调研表 
| 节点组         | 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)     | -                             | -                    | -        | -        | -           | -           | -               |
   
#### 大数据组件信息
使用的大数据组件信息和规划的新版本大数据集群版本信息比较，主要识别版本差异可能对迁移过程的影响，以及对迁移后业务兼容性的影响。
表3大数据组件信息 
| 大数据组件               | 源端集群版本         | 目的端集群版本（以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作为文件存储系统，可以通过客户端执行**hadoop fs -du -h** *HDFS文件目录* 命令统计路径下的文件大小。
表4现有数据量统计 
| 大数据组件               | 待迁移数据的路径                | 数据量大小 | 文件个数或表个数                                                                             |
|:---|:---|:---|:---|
| HDFS/OBS（或其他文件存储系统） | */user/helloworld*      | *XXX* | 总共：*XXX*个文件 小于2 MB的文件数量：*XXX*个 |
| Hive                | */user/hive/warehouse/* | *XXX* | 表个数：*XXX*                                                                            |
| HBase               | */hbase*                | *XXX* | 表个数：*XXX* Region个数：*XXX*         |
   
#### 每天新增数据量统计
每天新增数据量主要评估数据增长速度（可以按天/小时等周期维度）。在第一次全量迁移数据后，后续可以定期搬迁老集群新增数据，直到业务完成最终割接。
表5新增数据量统计 
| 大数据组件               | 待迁移的数据路径                | 新增数据量大小 |
|:---|:---|:---|
| HDFS/OBS（或其他文件存储系统） | */user/helloworld*      | *XXX*   |
| Hive                | */user/hive/warehouse/* | *XXX*   |
| HBase               | */hbase*                | *XXX*   |
   
#### 网络出口带宽能力
- 迁移数据可以使用的最大网络带宽和专线带宽（是否可调）。
- 迁移数据作业每天可以运行的时间段。
 
#### 流式Kafka集群信息收集
表6流式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源集群业务图   
  ![](https://support.huaweicloud.com/bestpractice-mrs/zh-cn_image_0296925648.png "点击放大") 
- 针对大数据离线平台包括HDFS和Hive数据需要迁移，Kafka、Spark Streaming、HDFS、Hive、Presto的业务程序要在目的端集群上部署。
  图2迁移示意图   
  ![](https://support.huaweicloud.com/bestpractice-mrs/zh-cn_image_0296925650.png "点击放大") 
 
