Any ides on s3 presto not finding the `org.apache....
# troubleshooting
h
Any ides on s3 presto not finding the
org.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 in
kubectl exec -it flink-kubernetes-operator-6fdd7cfd77-kmgjx -- ls /opt/flink/plugins/flink-s3-fs-presto
flink-s3-fs-presto-1.17.0.jar
j
I've same issue and how to install plugin for operator Pod? I'm using apache/flink-kubernetes-operator:1.4.0 image, https://github.com/apache/flink-kubernetes-operator/blob/main/helm/flink-kubernetes-operator/values.yaml
h
add this and see if it works , i didnt for me but as per the docs this is required
Copy code
postStart:
  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>
j
I've tried both postStart and initContainers through values.yaml. Both didn't work
Copy code
The 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 volume
PostStart and initcontainer approach didn't work
h
i concur , we are missing something because in the FlinkDeployment logs it saying loading plugin, i think the issue is with the operator
j
But i'm failing to install plugin in flink operator pod using PostStart and initcontainer approaches
h
really i got it copied across in the flink operator using podStart , but you need to use version 1.17 , it didnt work for 1.15 for me
Did you find out anything new
Copy code
FROM 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.jar
i believe the postStart is not being loaded by the classloader so thats why its not working so i created my own base image instead
j
I wonder why postStart is not working
Is that S3 permission issue resolved after your custom image with plugin update?
a
@Howard Hill @Jashwanth S J Guys did it work for you? I am facing similar issues while trying to use s3 presto FS I have modified the Dockerfile to copy over the jar file to plugins/s3-fs-presto folder and i have modified the configmap
Copy code
taskmanager.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
Copy code
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?
j
Still same issue, don't know which God can save from this issue