SFTP Mule客户端Java API - 用户登录超时问题

问题描述:

我正在研究Java代码到SFTP文件以远离HDFS文件系统。它适用于小于200 MB的文件。对于大文件,我收到以下错误。SFTP Mule客户端Java API - 用户登录超时问题

 17/08/08 02:44:49 ERROR sftp.SftpClient: Error writing data over SFTP service, error was: Failure 
4: Failure 
    at com.jcraft.jsch.ChannelSftp.throwStatusError(ChannelSftp.java:2289) 
    at com.jcraft.jsch.ChannelSftp.checkStatus(ChannelSftp.java:1937) 
    at com.jcraft.jsch.ChannelSftp._put(ChannelSftp.java:541) 
    at com.jcraft.jsch.ChannelSftp.put(ChannelSftp.java:439) 
    at com.jcraft.jsch.ChannelSftp.put(ChannelSftp.java:406) 

我的代码如下:

  public static void sendFile(String targetDirectory, String sourceFileWithFullPath) throws IOException { 
    SftpClient client = new SftpClient("karthick"); 
    BufferedInputStream bis = null; 
    Configuration conf = new Configuration(); 
    FileSystem fs = FileSystem.get(conf); 
    FSDataInputStream fsdisPath = null; 
    String filePath = null; 
    try { 

     filePath=sourceFileWithFullPath; 
     Path inputPath = new Path(filePath); 
     fsdisPath = fs.open(inputPath); 
     bis = new BufferedInputStream(fsdisPath); 
     client.login("karthick","/karthick/id_rsa", null); 
     client.changeWorkingDirectory(targetDirectory); 
     client.storeFile(inputPath.getName(), bis); 
     System.out.println("The actual path is" + client.getAbsolutePath(sourceFileWithFullPath)); 

    } 
    finally { 
     if (client != null) { 
      client.disconnect(); 
     } 
     if (bis != null) { 
      bis.close(); 
     } 
    } 
} 

我确保我有足够的磁盘空间,无记忆问题以及所有必需的权限。什么可能是其他可能的方法来避免这个问题。我打算有这个实用程序来复制500GB文件。我现在开始学Java并学习基础知识。任何建议将不胜感激。

更新:我收到此错误以及com.jcraft.jsch.JSchException:验证:错误。我已经在必要时添加了钥匙。我该如何解决这个问题

ERROR sftp.SftpClient: Error during login to [email protected] 
    com.jcraft.jsch.JSchException: verify: false 
    at com.jcraft.jsch.Session.connect(Session.java:295) 
    at com.jcraft.jsch.Session.connect(Session.java:150) 
    at org.mule.transport.sftp.SftpClient.login(SftpClient.java:178) 

它看起来像4个原因:
1)你写
2)文件路径(或名称)在空间上的文件夹的权限。
3)文件路径中有斜杠。同时读取或写入大文件
4)超时问题发生..

+0

我也去它..如何处理第四选项... – Karthi

+0

我歌厅用户超时会话,因为我已经更新了我的问题的内容和我如何解决它。 – Karthi

+0

请检查jsch 0.1.50修复了这个问题。 jsch下载页面 - http://www.jcraft.com/jsch/ – siranjeevi