如何在 Kubernetes 中使用 flink-s3-fs-hadoop



我在 flink 的文档中看到了以下信息 - 将相应的 jar 复制到插件目录以使用 s3。 如果我使用 Kubernetes 部署 Flink,我该怎么做。

"要使用 flink-s3-fs-hadoop 或 flink-s3-fs-presto,请在启动 Flink 之前将相应的 JAR 文件从 opt 目录复制到 Flink 发行版的插件目录,例如

mkdir ./plugins/s3-fs-presto cp ./opt/flink-s3-fs-presto-1.9.0.jar ./plugins/s3-fs-presto/">

如果您在官方文档中引用 k8s 设置,您可以简单地重新创建您的映像。

  1. 在 Github 存储库中查看 Docker 文件
  2. flink-s3-fs-presto-1.9.0.jar下载到与 Docker 文件相同的文件夹中
  3. COPY docker-entrypoint.sh之前添加以下内容
# install Flink S3 FS Presto  plugin
RUN mkdir ./plugins/s3-fs-presto
COPY ./flink-s3-fs-presto-1.9.1.jar ./plugins/s3-fs-presto/
  1. 构建映像,标记它并推送到 Docker 中心
  2. 在部署 yml 文件中,将映像名称更改为刚刚创建的名称
  3. 然后,您可以在配置 yml 文件中使用 s3://xxxxxx(例如 flink-configuration-configmap.yaml(

如果你使用 flink 的 build.sh 脚本来构建特定于应用程序的 docker 镜像,它有一个参数 (--job-artifacts(,允许你指定要包含在镜像中的工件列表(JAR 文件(。这些 jar 文件最终都位于 lib 目录中。请参阅 https://github.com/apache/flink/blob/master/flink-container/docker/build.sh。

您可以对此进行扩展以正确处理插件,或者暂时不必担心(仍然支持将它们放在 lib 目录中(。

相关内容

  • 没有找到相关文章