Howard Hill
09/05/2023, 10:00 PMorg.apache.flink.kubernetes.operator.exception.ReconciliationException: org.apache.flink.core.fs.UnsupportedFileSystemSchemeException: Could not find a file system implementation for scheme 's3p'. The scheme is directly supported by Flink through the following plugin(s): flink-s3-fs-presto. Please ensure that each plugin resides within its own subfolder within the plugins directory. Se its already there inHoward Hill
09/05/2023, 10:00 PMkubectl exec -it flink-kubernetes-operator-6fdd7cfd77-kmgjx -- ls /opt/flink/plugins/flink-s3-fs-presto
flink-s3-fs-presto-1.17.0.jarJashwanth S J
09/07/2023, 1:23 PMHoward Hill
09/07/2023, 1:28 PMpostStart:
exec:
command:
- "/bin/sh"
- "-c"
- |
wget -O /opt/flink/plugins/flink-s3-fs-presto-1.17.1.jar \
<https://repo1.maven.org/maven2/org/apache/flink/flink-s3-fs-presto/1.17.1/flink-s3-fs-presto-1.17.1.jar>
wget -O /opt/flink/plugins/flink-s3-fs-hadoop-1.17.1.jar \
<https://repo1.maven.org/maven2/org/apache/flink/flink-s3-fs-hadoop/1.17.1/flink-s3-fs-hadoop-1.17.1.jar>Jashwanth S J
09/07/2023, 1:29 PMJashwanth S J
09/07/2023, 1:34 PMJashwanth S J
09/07/2023, 1:35 PMThe download of the jar happens in flink-kubernetes-operator pod. So, when you apply FlinkSessionJob, the fink-operator would recognize the Crd and will try to download the jar from jarUri location and construct a JobGraph and submit the sessionJob to JobDeployment. Flink Kubernetes Operator will also have flink running inside it to build a JobGraph. So, You will have to add flink-s3-fs-hadoop-1.15.3.jar in location /opt/flink/plugins/s3-fs-hadoop/ inside flink-kubernetes-operator
You can add the jar either by extending the <http://ghcr.io/apache/flink-kubernetes-operator|ghcr.io/apache/flink-kubernetes-operator> image, curl the jar and copy it to plugins location
or
You can write an initContainer which will download the jar to a volume and mount that volumeJashwanth S J
09/07/2023, 1:35 PMHoward Hill
09/07/2023, 1:59 PMJashwanth S J
09/08/2023, 6:09 AMJashwanth S J
09/08/2023, 6:10 AMHoward Hill
09/08/2023, 12:21 PMHoward Hill
09/10/2023, 6:40 PMHoward Hill
09/10/2023, 8:29 PMFROM apache/flink-kubernetes-operator
# Download the S3 Presto plugin
RUN mkdir -p /opt/flink/plugins/s3-fs-presto
RUN wget <https://repo1.maven.org/maven2/org/apache/flink/flink-s3-fs-presto/1.17.1/flink-s3-fs-presto-1.17.1.jar> -O /opt/flink/plugins/s3-fs-presto/flink-s3-fs-presto-1.17.1.jar
# Set the environment variable to enable the plugin
ENV ENABLE_BUILT_IN_PLUGINS=flink-s3-fs-presto-1.17.1.jarHoward Hill
09/10/2023, 8:30 PMJashwanth S J
09/11/2023, 7:55 AMJashwanth S J
09/11/2023, 8:12 AMAman Deep
10/02/2023, 3:26 PMtaskmanager.numberOfTaskSlots: 1
parallelism.default: 1
state.backend.type: rocksdb
state.checkpoints.dir: <s3p://test-flink-rocksdb/flink/>
s3.access-key: DDD
s3.secret-key: DDD
execution.checkpointing.interval: 10000
But i get the error
Caused by: org.apache.flink.core.fs.UnsupportedFileSystemSchemeException: Could not find a file system implementation for scheme 's3p'. The scheme is directly supported by Flink through the following plugin(s): flink-s3-fs-presto.
Am I missing something?Jashwanth S J
10/03/2023, 5:40 AM