Hi Experts, I could run distcp against ftp server installed on Linux, but could NOT run distcp against ftp server installed on Windows. Below are the steps.
Is this a DistCp bug? Any comments? [Scenario 1] I installed a BI cluster using trunk build on HadoopNode1, and then could copy file from a ftp installed on Linux to hdfs using command: hadoop distcp ftp://user1:[email protected]/home/user1/ftp.txt hdfs://HadoopNode1:9000/tmp/ [Scenario 2] On the same hadoop node, I can copy file from a remote ftp server installed on Windows7 using command: wget ftp://Viewer:[email protected]/ftp-win.txt. But I failed to copy file from a ftp installed on Windows7 to hdfs using command: [user1@HadoopNode1 ~]$ hadoop distcp ftp://Viewer:[email protected]/ftp-win.txt /tmp/ 15/02/01 23:03:37 INFO tools.DistCp: Input Options: DistCpOptions{atomicCommit=false, syncFolder=false, deleteMissing=false, ignoreFailures=false, maxMaps=20, sslConfigurationFile='null', copyStrategy='uniformsize', sourceFileListing=null, sourcePaths=[ ftp://Viewer:[email protected]/ftp-win.txt], targetPath=/tmp, targetPathExists=true} 15/02/01 23:03:38 INFO client.RMProxy: Connecting to ResourceManager at HadoopNode1/9.30.239.166:8032 15/02/01 23:05:50 ERROR tools.DistCp: Exception encountered org.apache.commons.net.ftp.FTPConnectionClosedException: Connection closed without indication. at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:313) at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:290) at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:479) at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:552) at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:601) at org.apache.commons.net.ftp.FTP.quit(FTP.java:809) at org.apache.commons.net.ftp.FTPClient.logout(FTPClient.java:979) at org.apache.hadoop.fs.ftp.FTPFileSystem.disconnect(FTPFileSystem.java:151) at org.apache.hadoop.fs.ftp.FTPFileSystem.getFileStatus(FTPFileSystem.java:395) at org.apache.hadoop.fs.Globber.getFileStatus(Globber.java:57) at org.apache.hadoop.fs.Globber.glob(Globber.java:248) at org.apache.hadoop.fs.FileSystem.globStatus(FileSystem.java:1632) at org.apache.hadoop.tools.GlobbedCopyListing.doBuildListing(GlobbedCopyListing.java:77) at org.apache.hadoop.tools.CopyListing.buildListing(CopyListing.java:80) at org.apache.hadoop.tools.DistCp.createInputFileListing(DistCp.java:342) at org.apache.hadoop.tools.DistCp.execute(DistCp.java:154) at org.apache.hadoop.tools.DistCp.run(DistCp.java:121) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) at org.apache.hadoop.tools.DistCp.main(DistCp.java:390) Thanks!
