我一直试图在GCP (https://github.com/spotify/flink-on-k8s-operator)上使用Flink,但谷歌云存储访问存在一个问题。
所以,我遵循了这里解释的步骤(https://github.com/spotify/flink-on-k8s-operator/blob/master/images/flink/README.md)
所以,我创造了一个码头形象,比如;
ARG GCS_CONNECTOR_VERSION=latest-hadoop2
ARG FLINK_HADOOP_VERSION=2.8.3-10.0
ARG GCS_CONNECTOR_NAME=gcs-connector-${GCS_CONNECTOR_VERSION}.jar
ARG GCS_CONNECTOR_URI=https://storage.googleapis.com/hadoop-lib/gcs/${GCS_CONNECTOR_NAME}
ARG FLINK_HADOOP_JAR_NAME=flink-shaded-hadoop-2-uber-${FLINK_HADOOP_VERSION}.jar
ARG FLINK_HADOOP_JAR_URI=https://repo.maven.apache.org/maven2/org/apache/flink/flink-shaded-hadoop-2-uber/${FLINK_HADOOP_VERSION}/${FLINK_HADOOP_JAR_NAME}
RUN echo "Downloading ${GCS_CONNECTOR_URI}" && \
wget -q -O /opt/flink/lib/${GCS_CONNECTOR_NAME} ${GCS_CONNECTOR_URI}
RUN echo "Downloading ${FLINK_HADOOP_JAR_URI}" && \
wget -q -O /opt/flink/lib/${FLINK_HADOOP_JAR_NAME} ${FLINK_HADOOP_JAR_URI}
部署作业后,我可以看到任务管理器和作业管理器库文件夹上的jars,但是任务管理器抛出的错误如下;
org.apache.flink.core.fs.UnsupportedFileSystemSchemeException: Could not find a file system implementation for scheme 'gs'. The scheme is not directly supported by Flink and no Hadoop file system to support this scheme could be loaded. For a full list of supported file systems, please see https://ci.apache.org/projects/flink/flink-docs-stable/ops/filesystems/.
有趣的是,任务管理器抛出一个错误,但我可以看到应该为GCS上的检查点创建的基本路径。例如;
我给出了gs://bucket/flink/job/检查点配置,我可以在部署后看到这个文件夹,但是当然里面没有数据。
问题是什么?
发布于 2022-08-03 13:34:48
您应该检查官方的GCS连接器文档。基本上,您需要在plugins目录下复制可选的gcs插件,以便在容器映像中将其提供给Flink。
在这方面,我建议您查看最近添加的Flink Kubernetes操作员项目,它将为您当前的设置提供一些好处,并改进与较新的Flink版本的集成。
https://stackoverflow.com/questions/73222298
复制相似问题