使用hadoop distcp从ftp拷贝文件到hdfs

本文深入解析了DistCp,一种用于大规模集群间高效文件分发的工具。介绍了其如何通过Map/Reduce实现文件的高速拷贝、错误处理与恢复功能。详细演示了从一个集群到另一个集群的文件复制过程,并展示了如何利用DistCp从FTP拷贝文件到HDFS。同时,提供了具体命令实例和端口修改示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DistCp(Distributed Copy)是用于大规模集群内部或者集群之间的高性能拷贝工具。 它使用Map/Reduce实现文件分发,错误处理和恢复,以及报告生成。 它把文件和目录的列表作为map任务的输入,每个任务会完成源列表中部分文件的拷贝。

官网链接:http://hadoop.apache.org/docs/r2.7.1/hadoop-distcp/DistCp.html

最常用的就是从一个集群拷贝文件到第二个集群:

这将从第一个集群中复制/foo目录(和它的内容)到第二个集群中的/bar目录下,所以第二个集群会有/bar/foo目录结构。如果/bar不存在,则会新建一个。可以指定多个源路径,并且所有的都会被复制到目标路径。源路径必须是绝对路径:

bash$ hadoop distcp hdfs://namenode1/foo hdfs://namenode2/bar 

==============================================================================


distcp从ftp拷贝文件到hdfs:

hadoop distcp ftp://fptuser:ftppassword@host/ftp-path/ hdfs://node:port1/hdfs-path/

============= example================

hdfs目录:hdfs dfs -ls /user/wanghc

ftp文件目录:/root/README.txt

默认端口:21

hadoop distcp ftp://root:uway123@192.168.8.192/root/README.txt hdfs://192.168.8.109:8020/user/wanghc


如果ftp端口修改为 9022

hadoop distcp ftp://root:uway123@192.168.8.192:9022/root/README.txt hdfs://192.168.8.109:8020/user/wanghc

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值