HDFS中数据迁移的使用场景和考量因素

HDFS中数据迁移的使用场景和考量因素

数据迁移使用场景

  • 冷热集群数据同步、分类存储
  • 集群数据整体搬迁
    • 当公司业务迅速的发展,导致的当前的服务器数量资源出现临时紧张的时候,为了更高效的利用资源,会将A机房数据整体迁移到B机房的,原因可能是B机房机器多,而且B机房本身开销较A机房低些等
  • 数据的准实时同步
    • 数据准实时同步的media在于数据的双倍份可用,比如某天A集群突然宣告不允许再使用了,此时可以将线上使用集群直接切向B的同步集群,因为B集群实时同步A集群数据,拥有完全一致的真实数据和元数据信息,所以对于业务方使用而言是不会收到任何影响的。

数据迁移要素考量

  • Bandwidth-带宽
    • 带宽用的多了,会影响到线上业务的任务运行,带宽用的少了又会导致数据同步满的问题。
  • performance-性能
    • 是采用简单的单机程序?还是多线程的性能更佳的分布式程序?
  • data-increment-增量同步
    • 当TB,PB级别的数据需要同步的时候,如果每次以全量的方式去同步数据,结果一定是非常糟糕。如果仅针对变化的增量数据进行同步将会是不错的选择。可以陪着HDFS快照等技术实现增量数据同步。
  • syncable-数据迁移的同步性
    • 数据迁移的过程中需要保证周期内数据是一定能够同步完的,不能差距太大。比如A集群7天内的增量数据,我只要花半天就可以完全同步到B集群,然后我有可以等到下周再次进行同步,最可怕的事情在于A集群的7天内的数据,我的程序花了7天还同步不完,然后下一个周期又来了,这样就无法做到准实时的一致性,其实7天还是一个比较大的时间,最好是能达到按天同步。

HDFS分布式拷贝工具-DistCp

  • DistCp是Hadoop中的一种工具,在hadoop-tools工程下,作为独立子工程存在。
  • 定位用于数据迁移,定期在集群之间和集群内部备份数据
  • 在备份过程中,每次运行distcp都成为一个备份周期。尽管性能相对较慢,但他的普及程度已经越来越高
  • distcp底层使用MapReduce在集群之间或并行在同一集群内复制文件。执行复制的MapReduce只有mapper阶段

distcp的优势性能

  • 带宽限流
    • distcp可以通过命令参数bandwidth来为程序进行带宽限流
  • 增量数据同步
    • 在distcp中可以通过updata,append和diff这三个参数实现增量同步
    • updata 只拷贝不存在的文件或者目录
    • append 最佳目标路径下已存在的文件
    • diff 通过快照的diff对比信息来同步源端路径与目标路径
      updata解决了新增文件、目录的同步。append解决已存在的增量更新同步。diff解决删除或重命名类型文件的同步
  • 高效的性能:分布式特性
    • distcp底层使用MapReduce执行数据同步,MapReduce本身是一类分布式程序

命令

  • 其中source_path,target_path需要带上地址前缀以区分不同的集群
bash 复制代码
hadoop distcp hdfs://src_cluster:8020/user/data hdfs://dest_cluster:8020/user/data_backup

这个命令告诉distcp工具将hdfs://src_cluster:8020/user/data目录下的数据复制到hdfs://dest_cluster:8020/user/data_backup目录下。

相关推荐
qq_508823403 小时前
金融量化指标--2Alpha 阿尔法
大数据·人工智能
好家伙VCC4 小时前
数学建模模型 全网最全 数学建模常见算法汇总 含代码分析讲解
大数据·嵌入式硬件·算法·数学建模
2301_781668616 小时前
Elasticsearch 02
大数据·elasticsearch·搜索引擎
isfox7 小时前
Google GFS 深度解析:分布式文件系统的开山之作
大数据·hadoop
用户Taobaoapi20148 小时前
京东店铺所有商品API技术开发文档
大数据·数据挖掘·数据分析
在未来等你8 小时前
Kafka面试精讲 Day 8:日志清理与数据保留策略
大数据·分布式·面试·kafka·消息队列
江畔独步9 小时前
Flink TaskManager日志时间与实际时间有偏差
大数据·flink
TDengine (老段)9 小时前
TDengine 选择函数 Last() 用户手册
大数据·数据库·sql·物联网·时序数据库·tdengine·涛思数据
鼠鼠我捏,要死了捏10 小时前
Hadoop NameNode内存泄漏与GC停顿问题排查与解决方案
hadoop·问题排查·jvm优化
TDengine (老段)10 小时前
TDengine 选择函数 First 用户手册
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据