Hadoop HDFS将本地文件放入HDFS,但得到UnsolvedAddressException

Hadoop HDFS将本地文件放入HDFS,但得到UnsolvedAddressException,hadoop,hdfs,Hadoop,Hdfs,我想把一个70G文件放到hdfs中,所以我使用了“put”命令来完成这项工作。然而,我得到了以下例外。我用同样的命令尝试了小文件,它可以工作。有人知道问题出在哪里吗?谢谢 WARN [DataStreamer for file /user/qzhao/data/sorted/WGC033800D_sorted.bam._COPYING_] hdfs.DFSClient (DFSOutputStream.java:run(628)) - DataStreamer Exception java.n

我想把一个70G文件放到hdfs中,所以我使用了“put”命令来完成这项工作。然而,我得到了以下例外。我用同样的命令尝试了小文件,它可以工作。有人知道问题出在哪里吗?谢谢

WARN  [DataStreamer for file /user/qzhao/data/sorted/WGC033800D_sorted.bam._COPYING_] hdfs.DFSClient (DFSOutputStream.java:run(628)) - DataStreamer Exception java.nio.channels.UnresolvedAddressException
    at sun.nio.ch.Net.checkAddress(Net.java:127)
    at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:644)
    at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:192)
    at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:529)
    at org.apache.hadoop.hdfs.DFSOutputStream.createSocketForPipeline(DFSOutputStream.java:1526)
    at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.createBlockOutputStream(DFSOutputStream.java:1328)
    at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.nextBlockOutputStream(DFSOutputStream.java:1281)
    at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.run(DFSOutputStream.java:526)
put: java.nio.channels.ClosedChannelException
    at org.apache.hadoop.hdfs.DFSOutputStream.checkClosed(DFSOutputStream.java:1538)
    at org.apache.hadoop.fs.FSOutputSummer.write(FSOutputSummer.java:98)
    at org.apache.hadoop.fs.FSDataOutputStream$PositionCache.write(FSDataOutputStream.java:58)
    at java.io.DataOutputStream.write(DataOutputStream.java:107)
    at org.apache.hadoop.io.IOUtils.copyBytes(IOUtils.java:80)
    at org.apache.hadoop.io.IOUtils.copyBytes(IOUtils.java:52)
    at org.apache.hadoop.io.IOUtils.copyBytes(IOUtils.java:112)
    at org.apache.hadoop.fs.shell.CommandWithDestination$TargetFileSystem.writeStreamToFile(CommandWithDestination.java:395)
    at org.apache.hadoop.fs.shell.CommandWithDestination.copyStreamToTarget(CommandWithDestination.java:327)
    at org.apache.hadoop.fs.shell.CommandWithDestination.copyFileToTarget(CommandWithDestination.java:303)
    at org.apache.hadoop.fs.shell.CommandWithDestination.processPath(CommandWithDestination.java:243)
    at org.apache.hadoop.fs.shell.CommandWithDestination.processPath(CommandWithDestination.java:228)
    at org.apache.hadoop.fs.shell.Command.processPaths(Command.java:306)
    at org.apache.hadoop.fs.shell.Command.processPathArgument(Command.java:278)
    at org.apache.hadoop.fs.shell.CommandWithDestination.processPathArgument(CommandWithDestination.java:223)
    at org.apache.hadoop.fs.shell.Command.processArgument(Command.java:260)
    at org.apache.hadoop.fs.shell.Command.processArguments(Command.java:244)
    at org.apache.hadoop.fs.shell.CommandWithDestination.processArguments(CommandWithDestination.java:200)
    at org.apache.hadoop.fs.shell.CopyCommands$Put.processArguments(CopyCommands.java:259)
    at org.apache.hadoop.fs.shell.Command.processRawArguments(Command.java:190)
    at org.apache.hadoop.fs.shell.Command.run(Command.java:154)
    at org.apache.hadoop.fs.FsShell.run(FsShell.java:287)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84)
    at org.apache.hadoop.fs.FsShell.main(FsShell.java:340)

由于同一命令适用于小文件,HDFS上可能存在空间问题。您可以检查
hdfs dfsadmin-report
命令的输出是否已满


假设您使用的命令类似于
hdfs dfs-put/path/to/local.file/user/USERNAME/path/to/dir或file
。如果没有,请共享您的命令。

由于同一命令适用于小文件,您的HDFS上可能存在空间问题。您可以检查
hdfs dfsadmin-report
命令的输出是否已满


假设您使用的命令类似于
hdfs dfs-put/path/to/local.file/user/USERNAME/path/to/dir或file
。如果没有,请分享您的命令。

我也遇到过类似的问题(小文件有效,大文件无效)。 问题是我已经配置了到主服务器的连接,但是没有到从服务器的连接


在我的例子中,我只是在
/etc/hosts

中添加了关于从属节点的条目,我遇到了类似的问题(小文件有效,大文件无效)。 问题是我已经配置了到主服务器的连接,但是没有到从服务器的连接


在我的例子中,我只是在
/etc/hosts

中添加了关于从属节点的条目。您的namenode有什么问题吗?你能检查一下hdfs-site.xml.core-site.xml配置是DNS还是防火墙问题吗?检查所有节点的地址。namenode有任何问题吗?你能检查一下hdfs-site.xml.core-site.xml配置是DNS还是防火墙问题吗?检查所有节点的地址。还记得怎么做吗?也许您可以扩展一下,将从属项添加到ect/hosts意味着您还记得怎么做吗?也许您可以对向ect/hosts添加从属项进行一点扩展