跨集群跨版本数据同步工具 Hadoop Distcp HDFS 一篇文章彻底把握

大家好,我是明哥!

最近有小同伴问到 hadoop distcp 的经常使用,对其中的一些细节和容易踩的坑不是很分明,所以当天咱们来看下 hadoop distcp的原理,细节和容易踩的坑。

1.DistCp 概述

咱们知道大数据集群外部都有节点级别和机架级别的容错机制(存储层对应的就是传统的三正本或纠删码机制),但关于一些数据安保性要求更改的场景,比如在金融行业典型的两地三核心场景下,经常有跨区域跨集群灾备的需求,此时就会触及到跨集群的数据同步。

DistCp (distributed copy) 就是一款跨集群的数据同步工具。

DistCp 可以用来做 hdfs 集群外部或集群之间的大规模的数据同步,由于在底层经常使用了 MapReduce 框架会经过多个 mapper来拷贝须要拷贝的文件列表,其性能相比 hdfs dfs -get/put 等经过本地文件系统中转的数据同步打算,要高效极速很多。

同时由于 DistCp 可以跨 hdfs 大版本启动数据同步,且新版本的 DistCp(distcp version 2)相比老版本的DistCp(legacy DistCp,version1.2.1)在很多方面都做了优化和改良,所以大规模的数据同步,不论是集群外部还是集群之间,首选的打算都是DistCp。

很多商业的hdfs数据同步打算,其底层都是原生的 DistCp,比如 cdh 的 bdr 工具,比如 tdh 的backup工具,其原理都是如此。

2.关于集群间数据同步

3.关于开启了 kerberos 安保认证后的数据同步

4.DistCp 的底层上班机制

新版 DistCp 底层有以下组件,其各自的职责如下:

5.DistCp 的关键参数解说

DistCp 提供了多种参数,来控制拷贝义务的各种细节,经常经常使用到的关键参数有 -update, -delete, -overwrite, -m,-bandwidth,-diff,-p,-i 等:

6.易踩的坑 - skipcrccheck

skipcrccheck 的坑-hdfs

skipcrccheck 的坑-hive sql

7.关于 hive 的跨集群数据同步

8.罕用命令总结

您可能还会对下面的文章感兴趣: