scala - 带有 sbt 程序集的 fatjar 上的“找不到类 org.apache.hadoop.fs.s3a.S3AFileSystem”
问题描述
我正在 Scala 中构建一个作业以在 Flink 集群上运行,它将数据存储在 AWS S3 中,并且我遇到了一些与依赖项相关的问题。
我已经检查了之前在这里提出的大部分问题,为了解决这个问题,我需要将flink-s3-fs-hadoop-1.9.1.jar
jar 文件添加到$FLINK_HOME/plugins
以成功运行我的工作:
我的问题是,这是否应该被检测为在 fatjar 中生成的sbt assembly
?这些文件在 jar 中,但由于某种原因 Flink Cluster 看不到它们。
我知道在文档中说flink-s3-fs-hadoop-1.9.1.jar
应该下载到$FLINK_HOME/plugins
文件夹。
解决方案
文件系统不能捆绑在用户 jar 中,它们必须存在于 /lib 或 /plugins 中。使用文件系统的组件不一定知道 user-jar。
推荐阅读
- android - 如何在 React Native 中返回后屏
- google-analytics - 在 2020 年 1 月之后将历史数据从 GA 迁移到 FA(对于应用程序)?
- mongodb - 验证 MongoCredential 的异常和未分类的 Mongo Db 异常
- javascript - Javascript循环数组查找下一个元素
- java - 如何从提供的文件路径中获取现有的父路径
- google-speech-api - 我可以在哪里上传音频文件以使用 Google Cloud 将其转换为文本?
- c - 使用 X11 发布编译文件
- android - 如何控制飞溅中的导航栏和按钮
- android - gradle.properties vs buildscript ext 哪个更好
- angular - 单击时如何将 favicon 的值从 false 更改为 true,反之亦然?