You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "L. C. Hsieh (Jira)" <ji...@apache.org> on 2021/04/20 23:45:00 UTC

[jira] [Updated] (SPARK-35156) Thrown java.lang.NoClassDefFoundError when using spark-submit

     [ https://issues.apache.org/jira/browse/SPARK-35156?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

L. C. Hsieh updated SPARK-35156:
--------------------------------
    Description: 
Got NoClassDefFoundError when run spark-submit to submit Spark app to K8S cluster.

Master branch is okay. Branch-3.1 is affected.

How to reproduce:

1. Using sbt to build Spark with Kubernetes (-Pkubernetes)
2. Run spark-submit to submit to K8S cluster
3. Get the following exception 

{code:java}
21/04/20 16:33:37 INFO SparkKubernetesClientFactory: Auto-configuring K8S client using current context from users K8S config file                                 
Exception in thread "main" java.lang.NoClassDefFoundError: com/fasterxml/jackson/dataformat/yaml/YAMLFactory                                                      
        at io.fabric8.kubernetes.client.internal.KubeConfigUtils.parseConfigFromString(KubeConfigUtils.java:46)                                                   
        at io.fabric8.kubernetes.client.Config.loadFromKubeconfig(Config.java:564)                                                                                
        at io.fabric8.kubernetes.client.Config.tryKubeConfig(Config.java:530)                                                                                     
        at io.fabric8.kubernetes.client.Config.autoConfigure(Config.java:264)                                                                                     
        at io.fabric8.kubernetes.client.Config.<init>(Config.java:230)                                                                                            
        at io.fabric8.kubernetes.client.Config.<init>(Config.java:224)                                                                                            
        at io.fabric8.kubernetes.client.Config.autoConfigure(Config.java:259)                                                                                             at org.apache.spark.deploy.k8s.SparkKubernetesClientFactory$.createKubernetesClient(SparkKubernetesClientFactory.scala:80)                                
        at org.apache.spark.deploy.k8s.submit.KubernetesClientApplication.$anonfun$run$2(KubernetesClientApplication.scala:207)                                   
        at org.apache.spark.util.Utils$.tryWithResource(Utils.scala:2621)                                                                                         
        at org.apache.spark.deploy.k8s.submit.KubernetesClientApplication.run(KubernetesClientApplication.scala:207)                                              
        at org.apache.spark.deploy.k8s.submit.KubernetesClientApplication.start(KubernetesClientApplication.scala:179)                                            
        at org.apache.spark.deploy.SparkSubmit.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:951)                                                
        at org.apache.spark.deploy.SparkSubmit.doRunMain$1(SparkSubmit.scala:180)                                                                                 
        at org.apache.spark.deploy.SparkSubmit.submit(SparkSubmit.scala:203)                                                                                      
        at org.apache.spark.deploy.SparkSubmit.doSubmit(SparkSubmit.scala:90)
        at org.apache.spark.deploy.SparkSubmit$$anon$2.doSubmit(SparkSubmit.scala:1030)
        at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:1039)
        at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
Caused by: java.lang.ClassNotFoundException: com.fasterxml.jackson.dataformat.yaml.YAMLFactory
        at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
        ... 19 more {code}

  was:
How to reproduce:

1. Using sbt to build Spark with Kubernetes (-Pkubernetes)
2. Run spark-submit to submit to K8S cluster
3. Get the following exception 

{code:java}
21/04/20 16:33:37 INFO SparkKubernetesClientFactory: Auto-configuring K8S client using current context from users K8S config file                                 
Exception in thread "main" java.lang.NoClassDefFoundError: com/fasterxml/jackson/dataformat/yaml/YAMLFactory                                                      
        at io.fabric8.kubernetes.client.internal.KubeConfigUtils.parseConfigFromString(KubeConfigUtils.java:46)                                                   
        at io.fabric8.kubernetes.client.Config.loadFromKubeconfig(Config.java:564)                                                                                
        at io.fabric8.kubernetes.client.Config.tryKubeConfig(Config.java:530)                                                                                     
        at io.fabric8.kubernetes.client.Config.autoConfigure(Config.java:264)                                                                                     
        at io.fabric8.kubernetes.client.Config.<init>(Config.java:230)                                                                                            
        at io.fabric8.kubernetes.client.Config.<init>(Config.java:224)                                                                                            
        at io.fabric8.kubernetes.client.Config.autoConfigure(Config.java:259)                                                                                             at org.apache.spark.deploy.k8s.SparkKubernetesClientFactory$.createKubernetesClient(SparkKubernetesClientFactory.scala:80)                                
        at org.apache.spark.deploy.k8s.submit.KubernetesClientApplication.$anonfun$run$2(KubernetesClientApplication.scala:207)                                   
        at org.apache.spark.util.Utils$.tryWithResource(Utils.scala:2621)                                                                                         
        at org.apache.spark.deploy.k8s.submit.KubernetesClientApplication.run(KubernetesClientApplication.scala:207)                                              
        at org.apache.spark.deploy.k8s.submit.KubernetesClientApplication.start(KubernetesClientApplication.scala:179)                                            
        at org.apache.spark.deploy.SparkSubmit.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:951)                                                
        at org.apache.spark.deploy.SparkSubmit.doRunMain$1(SparkSubmit.scala:180)                                                                                 
        at org.apache.spark.deploy.SparkSubmit.submit(SparkSubmit.scala:203)                                                                                      
        at org.apache.spark.deploy.SparkSubmit.doSubmit(SparkSubmit.scala:90)
        at org.apache.spark.deploy.SparkSubmit$$anon$2.doSubmit(SparkSubmit.scala:1030)
        at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:1039)
        at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
Caused by: java.lang.ClassNotFoundException: com.fasterxml.jackson.dataformat.yaml.YAMLFactory
        at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
        ... 19 more {code}


> Thrown java.lang.NoClassDefFoundError when using spark-submit
> -------------------------------------------------------------
>
>                 Key: SPARK-35156
>                 URL: https://issues.apache.org/jira/browse/SPARK-35156
>             Project: Spark
>          Issue Type: Bug
>          Components: Build, Kubernetes
>    Affects Versions: 3.1.1
>            Reporter: L. C. Hsieh
>            Priority: Major
>
> Got NoClassDefFoundError when run spark-submit to submit Spark app to K8S cluster.
> Master branch is okay. Branch-3.1 is affected.
> How to reproduce:
> 1. Using sbt to build Spark with Kubernetes (-Pkubernetes)
> 2. Run spark-submit to submit to K8S cluster
> 3. Get the following exception 
> {code:java}
> 21/04/20 16:33:37 INFO SparkKubernetesClientFactory: Auto-configuring K8S client using current context from users K8S config file                                 
> Exception in thread "main" java.lang.NoClassDefFoundError: com/fasterxml/jackson/dataformat/yaml/YAMLFactory                                                      
>         at io.fabric8.kubernetes.client.internal.KubeConfigUtils.parseConfigFromString(KubeConfigUtils.java:46)                                                   
>         at io.fabric8.kubernetes.client.Config.loadFromKubeconfig(Config.java:564)                                                                                
>         at io.fabric8.kubernetes.client.Config.tryKubeConfig(Config.java:530)                                                                                     
>         at io.fabric8.kubernetes.client.Config.autoConfigure(Config.java:264)                                                                                     
>         at io.fabric8.kubernetes.client.Config.<init>(Config.java:230)                                                                                            
>         at io.fabric8.kubernetes.client.Config.<init>(Config.java:224)                                                                                            
>         at io.fabric8.kubernetes.client.Config.autoConfigure(Config.java:259)                                                                                             at org.apache.spark.deploy.k8s.SparkKubernetesClientFactory$.createKubernetesClient(SparkKubernetesClientFactory.scala:80)                                
>         at org.apache.spark.deploy.k8s.submit.KubernetesClientApplication.$anonfun$run$2(KubernetesClientApplication.scala:207)                                   
>         at org.apache.spark.util.Utils$.tryWithResource(Utils.scala:2621)                                                                                         
>         at org.apache.spark.deploy.k8s.submit.KubernetesClientApplication.run(KubernetesClientApplication.scala:207)                                              
>         at org.apache.spark.deploy.k8s.submit.KubernetesClientApplication.start(KubernetesClientApplication.scala:179)                                            
>         at org.apache.spark.deploy.SparkSubmit.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:951)                                                
>         at org.apache.spark.deploy.SparkSubmit.doRunMain$1(SparkSubmit.scala:180)                                                                                 
>         at org.apache.spark.deploy.SparkSubmit.submit(SparkSubmit.scala:203)                                                                                      
>         at org.apache.spark.deploy.SparkSubmit.doSubmit(SparkSubmit.scala:90)
>         at org.apache.spark.deploy.SparkSubmit$$anon$2.doSubmit(SparkSubmit.scala:1030)
>         at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:1039)
>         at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
> Caused by: java.lang.ClassNotFoundException: com.fasterxml.jackson.dataformat.yaml.YAMLFactory
>         at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
>         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
>         ... 19 more {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org