2017-02-15 55 views
1

我想将文件从不安全的HDFS群集传输到kerberized群集。我正在使用distcp传输文件。我已经使用了以下命令。将文件从不安全的hdfs传输到受保护的hdfs群集

hadoop distcp -D ipc.client.fallback-to-simple-auth-allowed=true hdfs://<ip>:8020/<sourcedir> hdfs://<ip>:8020/<destinationdir> 

我在kerberized集群中执行上述命令后出现以下错误。

java.io.EOFException: End of File Exception between local host is: "<xxx>"; destination host is: "<yyy>; : java.io.EOFException; For more details see: http://wiki.apache.org/hadoop/EOFException 
+1

你可以试试使用'webhdfs:/'而不是'hdfs:/'? –

+1

两个集群uris'? –

+1

试用webhdfs。但得到异常'17/02/15 11:42:17 ERROR tools.DistCp:无效参数:java.io.IOException:意外的HTTP响应:代码= 404!= 200,操作= GETDELEGATIONTOKEN,消息=未找到' –

回答

2

这是错误的,因为:

簇被阻塞RPC通信,在这种情况下,webhdfs 协议可以被使用,所以上述DistCp使用可改写为

hadoop distcp -D ipc.client.fallback-to-simple-auth-allowed=true hdfs://xxx:8020/src_path webhdfs://yyy:50070/target_path 

这是非常好的blog post for distcp