Camel HDFS component fails with ClassNotFound Exception
Issue
- While running Camel HDFS component it fails with the following ClassNotFoundException:
INFO | Test-thread-2 | DefaultTypeConverter | 148 - org.apache.camel.camel-core - 2.10.0.fuse-71-047 | TypeConverterRegistry utilization[attempts=0, hits=0, misses=0, failures=0] mappings[total=209, misses=0]
INFO | Test-thread-2 | BlueprintCamelContext | 148 - org.apache.camel.camel-core - 2.10.0.fuse-71-047 | Apache Camel 2.10.0.fuse-71-047 (CamelContext: 265-camel-6) is shutdown in 0.029 seconds. Uptime 0.317 seconds.
WARN | Test-thread-2 | BlueprintCamelContext | 151 - org.apache.camel.camel-blueprint - 2.10.0.fuse-71-047 | Error occurred during starting CamelContext(265-camel-6)
org.apache.camel.FailedToCreateProducerException: Failed to create Producer for endpoint: Endpoint[hdfs://testHost:8020/test-archive/TOPIC.test.testData.1?splitStrategy=MESSAGES%3A100000]. Reason: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.ClassNotFoundException: org.apache.hadoop.security.ShellBasedUnixGroupsMapping from bundle 265 (test-archiver)
at org.apache.camel.impl.ProducerCache.doGetProducer(ProducerCache.java:395)[148:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at org.apache.camel.impl.ProducerCache.acquireProducer(ProducerCache.java:114)[148:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at org.apache.camel.impl.ProducerCache.startProducer(ProducerCache.java:145)[148:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at org.apache.camel.processor.SendProcessor.doStart(SendProcessor.java:175)[148:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:60)[148:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:62)[148:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:52)[148:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:73)[148:org.apache.camel.camel-core:2.10.0.fuse-71-047]
.
.
.
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.ClassNotFoundException: org.apache.hadoop.security.ShellBasedUnixGroupsMapping from bundle 265 (test-archiver)
at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:898)[267:org.apache.servicemix.bundles.hadoop-core:0.20.203.0_2]
at org.apache.hadoop.security.Groups.<init>(Groups.java:48)[267:org.apache.servicemix.bundles.hadoop-core:0.20.203.0_2]
at org.apache.hadoop.security.Groups.getUserToGroupsMappingService(Groups.java:137)[267:org.apache.servicemix.bundles.hadoop-core:0.20.203.0_2]
at org.apache.hadoop.security.UserGroupInformation.initialize(UserGroupInformation.java:180)[267:org.apache.servicemix.bundles.hadoop-core:0.20.203.0_2]
at org.apache.hadoop.security.UserGroupInformation.ensureInitialized(UserGroupInformation.java:159)[267:org.apache.servicemix.bundles.hadoop-core:0.20.203.0_2]
at org.apache.hadoop.security.UserGroupInformation.isSecurityEnabled(UserGroupInformation.java:216)[267:org.apache.servicemix.bundles.hadoop-core:0.20.203.0_2]
at org.apache.hadoop.security.UserGroupInformation.getLoginUser(UserGroupInformation.java:413)[267:org.apache.servicemix.bundles.hadoop-core:0.20.203.0_2]
at org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:399)[267:org.apache.servicemix.bundles.hadoop-core:0.20.203.0_2]
at org.apache.hadoop.fs.FileSystem$Cache$Key.<init>(FileSystem.java:1418)[267:org.apache.servicemix.bundles.hadoop-core:0.20.203.0_2]
at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:1319)[267:org.apache.servicemix.bundles.hadoop-core:0.20.203.0_2]
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:226)[267:org.apache.servicemix.bundles.hadoop-core:0.20.203.0_2]
at org.apache.camel.component.hdfs.HdfsInfo.<init>(HdfsInfo.java:36)[269:org.apache.camel.camel-hdfs:2.10.0.fuse-71-047]
at org.apache.camel.component.hdfs.HdfsInfoFactory.newHdfsInfo(HdfsInfoFactory.java:20)[269:org.apache.camel.camel-hdfs:2.10.0.fuse-71-047]
at org.apache.camel.component.hdfs.HdfsOutputStream.createOutputStream(HdfsOutputStream.java:49)[269:org.apache.camel.camel-hdfs:2.10.0.fuse-71-047]
at org.apache.camel.component.hdfs.HdfsProducer.setupHdfs(HdfsProducer.java:147)[269:org.apache.camel.camel-hdfs:2.10.0.fuse-71-047]
at org.apache.camel.component.hdfs.HdfsProducer.doStart(HdfsProducer.java:105)[269:org.apache.camel.camel-hdfs:2.10.0.fuse-71-047]
at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:60)[148:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:62)[148:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at org.apache.camel.impl.ProducerCache.doGetProducer(ProducerCache.java:393)[148:org.apache.camel.camel-core:2.10.0.fuse-71-047]
... 93 more
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: org.apache.hadoop.security.ShellBasedUnixGroupsMapping from bundle 265 (test-archiver)
at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:866)[267:org.apache.servicemix.bundles.hadoop-core:0.20.203.0_2]
at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:890)[267:org.apache.servicemix.bundles.hadoop-core:0.20.203.0_2]
... 111 more
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.security.ShellBasedUnixGroupsMapping from bundle 265 (test-archiver)
at org.apache.camel.core.osgi.utils.BundleDelegatingClassLoader.loadClass(BundleDelegatingClassLoader.java:78)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)[:1.6.0_31]
at java.lang.Class.forName0(Native Method)[:1.6.0_31]
at java.lang.Class.forName(Class.java:247)[:1.6.0_31]
at org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:819)[267:org.apache.servicemix.bundles.hadoop-core:0.20.203.0_2]
at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:864)[267:org.apache.servicemix.bundles.hadoop-core:0.20.203.0_2]
... 112 more
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.security.ShellBasedUnixGroupsMapping not found by test-archiver [265]
at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1499)
at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)
at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1882)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)[:1.6.0_31]
at org.apache.felix.framework.Felix.loadBundleClass(Felix.java:1814)[org.apache.felix.framework-4.0.3.fuse-71-047.jar:]
at org.apache.felix.framework.BundleImpl.loadClass(BundleImpl.java:929)
at org.apache.camel.core.osgi.utils.BundleDelegatingClassLoader.findClass(BundleDelegatingClassLoader.java:47)
at org.apache.camel.core.osgi.utils.BundleDelegatingClassLoader.loadClass(BundleDelegatingClassLoader.java:69)
... 117 more
- Tried
"dev:dynamic-import"on"camel-hdfs"bundle from the karaf shell and that did not work. - Checked
"osgi:headers"for"camel-hdfs"and found that it already has"dynamic-import"enabled.
Environment
- Red Hat Fuse ESB
- 7.1
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
