我正在尝试使用阿里巴巴 E-Mapreduce 中的 DistCp 工具迁移 HDFS 数据。我了解如何进行完整的数据迁移。
命令:
hadoop distcp -pbugpcax -m 1000 -bandwidth 30 hdfs://clusterIP:8020 /user/hive/warehouse /user/hive/warehouse
上面代码中实现增量同步需要添加哪些参数?
我正在尝试使用阿里巴巴 E-Mapreduce 中的 DistCp 工具迁移 HDFS 数据。我了解如何进行完整的数据迁移。
命令:
hadoop distcp -pbugpcax -m 1000 -bandwidth 30 hdfs://clusterIP:8020 /user/hive/warehouse /user/hive/warehouse
上面代码中实现增量同步需要添加哪些参数?
为了进行增量数据同步,您必须添加-update
和-delete
标志,这应该负责同步。
hadoop distcp -pbugpcax -m 1000 -bandwidth 30 -update –delete hdfs://oldclusterip:8020 /user/hive/warehouse /user/hive/warehouse
关于这两个参数的更多信息:
-update
,验证源文件和目标文件的校验和和文件大小。如果比较的文件大小不同,则源文件会更新目标集群数据。如果新旧集群同步过程中有数据写入,可以使用-update进行增量数据同步。
-delete
,如果旧集群中的数据不再存在,则新集群中的数据将被删除。
我希望这有帮助!