You do not need to put flink-kubernetes_2.12-1.12.1.jar under the plugin
directory. Only the S3 fs jar
needs to be put there.

I think I found the root cause. It seems your flink-dist is still 1.11.
Do you want to use the image 1.11 and enable the K8s HA at the same time?
I think it could not work. Because the HA related codes have been
refactored from release 1.12.
Even though you copy the flink-kubernetes_2.12-1.12.1.jar to /opt/flink/lib
and make the KubernetesHaServicesFactory class
could be resolved. It will encounter other issues after then.

Could you please try with the latest Flink 1.12 image?
docker pull apache/flink:1.12.1

Best,
Yang

Ashish Nigam <ashnigamt...@gmail.com> 于2021年1月21日周四 上午8:05写道:

> I did move to 1.12.1 version and also ensured that docker has kubernetes
> jar file in the right location, i.e.
> /opt/flink/plugins/s3-fs-presto/flink-kubernetes_2.12-1.12.1.jar
>
> But job manager is still not able to find the class
>
> 2021-01-21 00:00:49,376 ERROR
> org.apache.flink.runtime.entrypoint.ClusterEntrypoint        [] - Could not
> start cluster entrypoint StandaloneApplicationClusterEntryPoint.
> org.apache.flink.runtime.entrypoint.ClusterEntrypointException: Failed to
> initialize the cluster entrypoint StandaloneApplicationClusterEntryPoint.
> at
> org.apache.flink.runtime.entrypoint.ClusterEntrypoint.startCluster(ClusterEntrypoint.java:190)
> ~[flink-dist_2.12-1.11.2.jar:1.11.2]
> at
> org.apache.flink.runtime.entrypoint.ClusterEntrypoint.runClusterEntrypoint(ClusterEntrypoint.java:520)
> [flink-dist_2.12-1.11.2.jar:1.11.2]
> at
> org.apache.flink.container.entrypoint.StandaloneApplicationClusterEntryPoint.main(StandaloneApplicationClusterEntryPoint.java:94)
> [flink-dist_2.12-1.11.2.jar:1.11.2]
> Caused by: org.apache.flink.util.FlinkException: Could not instantiate
> class
> 'org.apache.flink.kubernetes.highavailability.KubernetesHaServicesFactory'
> of type
> 'org.apache.flink.runtime.highavailability.HighAvailabilityServicesFactory'.
> Please make sure that this class is on your class path.
> at
> org.apache.flink.util.InstantiationUtil.instantiate(InstantiationUtil.java:352)
> ~[flink-dist_2.12-1.11.2.jar:1.11.2]
> at
> org.apache.flink.runtime.highavailability.HighAvailabilityServicesUtils.loadCustomHighAvailabilityServicesFactory(HighAvailabilityServicesUtils.java:263)
> ~[flink-dist_2.12-1.11.2.jar:1.11.2]
> at
> org.apache.flink.runtime.highavailability.HighAvailabilityServicesUtils.createCustomHAServices(HighAvailabilityServicesUtils.java:246)
> ~[flink-dist_2.12-1.11.2.jar:1.11.2]
> at
> org.apache.flink.runtime.highavailability.HighAvailabilityServicesUtils.createHighAvailabilityServices(HighAvailabilityServicesUtils.java:126)
> ~[flink-dist_2.12-1.11.2.jar:1.11.2]
> at
> org.apache.flink.runtime.entrypoint.ClusterEntrypoint.createHaServices(ClusterEntrypoint.java:306)
> ~[flink-dist_2.12-1.11.2.jar:1.11.2]
> at
> org.apache.flink.runtime.entrypoint.ClusterEntrypoint.initializeServices(ClusterEntrypoint.java:269)
> ~[flink-dist_2.12-1.11.2.jar:1.11.2]
> at
> org.apache.flink.runtime.entrypoint.ClusterEntrypoint.runCluster(ClusterEntrypoint.java:211)
> ~[flink-dist_2.12-1.11.2.jar:1.11.2]
> at
> org.apache.flink.runtime.entrypoint.ClusterEntrypoint.lambda$startCluster$0(ClusterEntrypoint.java:172)
> ~[flink-dist_2.12-1.11.2.jar:1.11.2]
> at
> org.apache.flink.runtime.security.contexts.NoOpSecurityContext.runSecured(NoOpSecurityContext.java:30)
> ~[flink-dist_2.12-1.11.2.jar:1.11.2]
> at
> org.apache.flink.runtime.entrypoint.ClusterEntrypoint.startCluster(ClusterEntrypoint.java:171)
> ~[flink-dist_2.12-1.11.2.jar:1.11.2]
> ... 2 more
> Caused by: java.lang.ClassNotFoundException:
> org.apache.flink.kubernetes.highavailability.KubernetesHaServicesFactory
> at jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source) ~[?:?]
> at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown
> Source) ~[?:?]
> at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:?]
>
> On Mon, Jan 18, 2021 at 7:52 PM Yang Wang <danrtsey...@gmail.com> wrote:
>
>> Class
>> "org.apache.flink.kubernetes.highavailability.KubernetesHaServicesFactory"
>> is introduced from 1.12.0 version.
>> You could try with the latest version 1.12.1[1].
>>
>> Will that jar file need to be copied under
>>> /opt/flink/plugins/s3-fs-presto folder?
>>
>> Yes, you need to copy the s3 fs implementation to plugin directory.
>> An alternative is you could set the environment to enable the plugin[1].
>>
>> [1].
>> https://hub.docker.com/r/apache/flink/tags?page=1&ordering=last_updated&name=1.12.1
>> [2].
>> https://ci.apache.org/projects/flink/flink-docs-master/deployment/resource-providers/standalone/docker.html#using-filesystem-plugins
>>
>> Best,
>> Yang
>>
>> Ashish Nigam <ashnigamt...@gmail.com> 于2021年1月18日周一 下午11:15写道:
>>
>>> Hi,
>>> I am not able to identify maven artifact that will have
>>> implementation for this class
>>>
>>> org.apache.flink.kubernetes.highavailability.KubernetesHaServicesFactory
>>>
>>>
>>> I am using info in this link to test out HA implementation
>>>
>>> https://ci.apache.org/projects/flink/flink-docs-release-1.12/deployment/ha/kubernetes_ha.html
>>>
>>> Please point me to the right artifact. Also, I plan to use S3 bucket as
>>> storageDir. So, will that jar file need to be copied under
>>> /opt/flink/plugins/s3-fs-presto folder?
>>>
>>> Thanks
>>> Ashish
>>>
>>

Reply via email to