gpt4 book ai didi

Java HDF fsDataOutputStream 写入失败创建空文件

转载 作者:行者123 更新时间:2023-11-30 05:26:19 24 4
gpt4 key购买 nike

我在 hadoop 上写入小文件时遇到一个奇怪的问题。下面是示例程序

public void writeFile(Configuration conf, String message, String filename) throws Exception {
FSDataOutputStream fsDataOutputStream = null;
DistributedFileSystem fs = null;
try {
fs = (DistributedFileSystem) FileSystem.get(URI.create(properties.getHadoop().getRawLocation()), conf);
Path hdfswritepath = new Path(properties.getHadoop().getRawLocation() + "/" + filename + ".json");
fsDataOutputStream = fs.create(hdfswritepath);
fsDataOutputStream.write(message.getBytes());
fsDataOutputStream.close();
fsDataOutputStream.hsync();
} catch (IllegalArgumentException | IOException e) {
System.out.println("Got Exception");
e.printStackTrace();
throw e;
} finally {
fs.close();
System.out.println("clean up done");
}

}

以上代码在 hadoop 位置创建空文件。这是我尝试过的一些项目

  1. 客户端和hadoop服务器之间没有防火墙
  2. 从本地复制到 hadoop 正在运行。

问题是仅创建了 0 字节文件。

我遇到了以下异常。

09:12:02,129 INFO  [org.apache.hadoop.hdfs.DFSClient] (Thread-118) Exception in createBlockOutputStream: java.net.ConnectException: Connection timed out: no further information
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)
at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206)
at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:531)
at org.apache.hadoop.hdfs.DFSOutputStream.createSocketForPipeline(DFSOutputStream.java:1533)
at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.createBlockOutputStream(DFSOutputStream.java:1309)
at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.nextBlockOutputStream(DFSOutputStream.java:1262)
at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.run(DFSOutputStream.java:448)

最佳答案

我能够通过

解决这个问题

conf.set("dfs.client.use.datanode.hostname", "true");

关于Java HDF fsDataOutputStream 写入失败创建空文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58523697/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com