[ https://issues.apache.org/jira/browse/FLINK-38282?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18016041#comment-18016041 ]
raphaelauv commented on FLINK-38282: ------------------------------------ If I add the jar flink-core-2.0.0.jar thanks to an initContainers it works {code:java} initContainers: - name: curl image: curlimages/curl:latest command: - /bin/sh - '-c' - >- curl -H "Accept: application/zip" https://repo1.maven.org/maven2/org/apache/flink/flink-s3-fs-hadoop/2.0.0/flink-s3-fs-hadoop-2.0.0.jar --output /opt/flink/plugins/s3-fs-hadoop/flink-s3-fs-hadoop-2.0.0.jar && curl -H "Accept: application/zip" https://repo1.maven.org/maven2/org/apache/flink/flink-core/2.0.0/flink-core-2.0.0.jar --output /opt/flink/operator-lib/flink-core-2.0.0.jar resources: {} volumeMounts: - name: s3-plugin mountPath: /opt/flink/plugins/s3-fs-hadoop/ - name: flink-libs mountPath: /opt/flink/operator-lib/ terminationMessagePath: /dev/termination-log terminationMessagePolicy: File imagePullPolicy: Always {code} > K8S operator : S3 jarURI > ------------------------- > > Key: FLINK-38282 > URL: https://issues.apache.org/jira/browse/FLINK-38282 > Project: Flink > Issue Type: Bug > Affects Versions: 2.0.0 > Reporter: raphaelauv > Priority: Major > Attachments: flink-kubernetes-operator.log > > > Using the flink operator 1.8.2 > with flink 2.0.0 > I can't submit FlinkSessionJob that have a jarURI on a s3 > {code:java} > apiVersion: flink.apache.org/v1beta1 > kind: FlinkDeployment > metadata: > name: basic-example > spec: > image: > flinkVersion: v2_0 > flinkConfiguration: > taskmanager.numberOfTaskSlots: "2" > s3.endpoint: http://minio:9000 > s3.path.style.access: "true" > s3.access-key: admin > s3.secret-key: adminadmin > s3.region: eu-west-3 > serviceAccount: flink > jobManager: > resource: > memory: "2048m" > cpu: 1 > taskManager: > resource: > memory: "2048m" > cpu: 1 > podTemplate: > spec: > containers: > - name: flink-main-container > env: > - name: ENABLE_BUILT_IN_PLUGINS > value: "flink-s3-fs-hadoop-2.0.0.jar" {code} > {code:java} > apiVersion: flink.apache.org/v1beta1 > kind: FlinkSessionJob > metadata: > name: my-flink-job > spec: > deploymentName: basic-example > job: > jarURI: s3://test-bucket/myjar-0.0.1.jar > parallelism: 1 > upgradeMode: stateless {code} > > > the FlinkSessionJob fail with : > {code:java} > Could not find a file system implementation for scheme 's3a'. The scheme is > directly supported by Flink through the following plugin(s): > flink-s3-fs-hadoop. Please ensure that each plugin resides within its own > subfolder within the plugins directory. See > https://nightlies.apache.org/flink/flink-docs-stable/docs/deployment/filesystems/plugins/ > for more information. If you want to use a Hadoop file system for that > scheme, please add the scheme to the configuration > fs.allowed-fallback-filesystems. For a full list of supported file systems, > please see > https://nightlies.apache.org/flink/flink-docs-stable/ops/filesystems/. {code} > and in the operator pod the logs are -> > > {code:java} > java.util.ServiceConfigurationError: > org.apache.flink.core.fs.FileSystemFactory: > org.apache.flink.fs.s3hadoop.S3FileSystemFactory Unable to get public no-arg > constructor > at java.base/java.util.ServiceLoader.fail(Unknown Source) > at java.base/java.util.ServiceLoader.getConstructor(Unknown Source) > at > java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(Unknown > Source) > at > java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(Unknown > Source) > at java.base/java.util.ServiceLoader$2.hasNext(Unknown Source) > at java.base/java.util.ServiceLoader$3.hasNext(Unknown Source) > at > org.apache.flink.core.plugin.PluginLoader$ContextClassLoaderSettingIterator.hasNext(PluginLoader.java:130) > at > org.apache.flink.shaded.guava31.com.google.common.collect.Iterators$ConcatenatedIterator.hasNext(Iterators.java:1391) > at > org.apache.flink.shaded.guava31.com.google.common.collect.TransformedIterator.hasNext(TransformedIterator.java:46) > at > org.apache.flink.core.fs.FileSystem.addAllFactoriesToList(FileSystem.java:1088) > at > org.apache.flink.core.fs.FileSystem.loadFileSystemFactories(FileSystem.java:1071) > at org.apache.flink.core.fs.FileSystem.initialize(FileSystem.java:340) > at > org.apache.flink.kubernetes.operator.FlinkOperator.<init>(FlinkOperator.java:112) > at > org.apache.flink.kubernetes.operator.FlinkOperator.main(FlinkOperator.java:281) > Caused by: java.lang.NoClassDefFoundError: > org/apache/flink/core/fs/PathsCopyingFileSystem > at java.base/java.lang.ClassLoader.defineClass1(Native Method) > at java.base/java.lang.ClassLoader.defineClass(Unknown Source) > at java.base/java.security.SecureClassLoader.defineClass(Unknown Source) > at java.base/java.net.URLClassLoader.defineClass(Unknown Source) > at java.base/java.net.URLClassLoader$1.run(Unknown Source) > at java.base/java.net.URLClassLoader$1.run(Unknown Source) > at java.base/java.security.AccessController.doPrivileged(Native Method) > at java.base/java.net.URLClassLoader.findClass(Unknown Source) > at java.base/java.lang.ClassLoader.loadClass(Unknown Source) > at > org.apache.flink.core.classloading.ComponentClassLoader.loadClassFromComponentOnly(ComponentClassLoader.java:150) > at > org.apache.flink.core.classloading.ComponentClassLoader.loadClassFromOwnerFirst(ComponentClassLoader.java:172) > at > org.apache.flink.core.classloading.ComponentClassLoader.loadClass(ComponentClassLoader.java:107) > at java.base/java.lang.ClassLoader.loadClass(Unknown Source) > at java.base/java.lang.Class.getDeclaredConstructors0(Native Method) > at java.base/java.lang.Class.privateGetDeclaredConstructors(Unknown Source) > at java.base/java.lang.Class.getConstructor0(Unknown Source) > at java.base/java.lang.Class.getConstructor(Unknown Source) > at java.base/java.util.ServiceLoader$1.run(Unknown Source) > at java.base/java.util.ServiceLoader$1.run(Unknown Source) > at java.base/java.security.AccessController.doPrivileged(Native Method) > ... 13 more > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)