我对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