2

我对 Flink 有一个奇怪的问题:在工作中,我必须用预编译的资源文件初始化一个对象。并且在作业开始后,它在第一时间运行没有问题。但是当我再次像第一次一样使用 Web 界面访问它时,我的对象无法初始化,错误是:

java.nio.file.NoSuchFileException: hdfs:/.../.../my_file

这让我感到困惑,因为文件在那里并且对象第一次成功初始化。相关代码为:

Config.load(Files.newBufferedReader(
    Paths.get("hdfs:///xx/xx/myconfig.cfg"),
    StandardCharsets.UTF_8));

如果资源在本地系统上并且我运行具有相同作业的本地服务器,我不会遇到任何问题。那么有人有任何线索吗?

编辑:完整跟踪

Caused by: java.nio.file.NoSuchFileException: hdfs:/path/to/xx.cfg
at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86)
at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
at sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:214)
at java.nio.file.Files.newByteChannel(Files.java:361)
at java.nio.file.Files.newByteChannel(Files.java:407)
at java.nio.file.spi.FileSystemProvider.newInputStream(FileSystemProvider.java:384)
at java.nio.file.Files.newInputStream(Files.java:152)
at java.nio.file.Files.newBufferedReader(Files.java:2784)
at myObject(myObject.java:364)
at myclass$mymethod.map(myclass.java:126)
at myclass$mymethod.map(myclass.java:1)
at org.apache.flink.streaming.api.operators.StreamMap.processElement(StreamMap.java:35)
at org.apache.flink.streaming.runtime.tasks.OutputHandler$CopyingOperatorCollector.collect(OutputHandler.java:272)
... 7 more
4

0 回答 0