hadoop数据迁移

发布时间 2023-12-26 16:14:28作者: 何亚告

使用Distcp进行Hadoop数据迁移

DispCP官方文档

在进行数据迁移前确认数据量大小和数据文件数,源端和目的端都需要确认:
hdfs dfs -count /
59790 7008 22875716090 /

  • 59790:表示目录 / 下的文件总数,即包括目录和文件在内的所有对象的数量。
  • 7008:表示目录 / 下的子目录(即非文件)的数量。
  • 22875716090:表示目录 / 下的所有对象(包括文件和目录)的总大小,以字节为单位。

hdfs dfs -du -s -h /
21.3 G 63.9 G /

  • 21.3 G:表示目录 / 下的所有对象的总大小,以 GB 为单位。这是一个人类可读的格式,以便更好地理解数据量的大小。
  • 63.9 G:表示目录 / 下的所有对象占用磁盘空间的总大小,以 GB 为单位。这是实际磁盘上的物理存储空间。

迁移命令:
hadoop distcp -update -skipcrccheck -delete -bandwidth 50 -m 100 hdfs://hive-hadoop-namenode:9000/ hdfs://new-hive-hadoop-namenode:9000/

  • -bandwidth 以MB/秒为单位指定每个映射的带宽。每个映射将被限制为仅使用指定的带宽
  • -skipcrccheck 是否跳过源路径和目标路径之间的CRC检查
  • -delete 删除dst中现有但不在src中的文件
  • -m 同时复制的最大数量