Java 在Hadoop 2中使用camel hdfs组件
我是servicemix和osgi的新手,我想知道是否有人在servicemix中成功地将camel hdfs组件与hadoop 2.x集群结合使用 我尝试了这个,但是遇到了IPC版本错误问题。为了解决这个问题,我对camel hdfs组件进行了分叉,修改了hadoop依赖项,并且在将其作为独立应用程序部署并通过所有测试的情况下,对该组件进行了很少的更改,使其能够正常工作 现在的挑战是在servicemix中运行它,尽管我使用wrap:*命令将依赖的hadoop库包装为一个捆绑包,但初始化hadoop类仍然存在问题。我得到的一个例外是Java 在Hadoop 2中使用camel hdfs组件,java,hadoop,apache-camel,hdfs,apache-servicemix,Java,Hadoop,Apache Camel,Hdfs,Apache Servicemix,我是servicemix和osgi的新手,我想知道是否有人在servicemix中成功地将camel hdfs组件与hadoop 2.x集群结合使用 我尝试了这个,但是遇到了IPC版本错误问题。为了解决这个问题,我对camel hdfs组件进行了分叉,修改了hadoop依赖项,并且在将其作为独立应用程序部署并通过所有测试的情况下,对该组件进行了很少的更改,使其能够正常工作 现在的挑战是在servicemix中运行它,尽管我使用wrap:*命令将依赖的hadoop库包装为一个捆绑包,但初始化had
Exception in thread "SpringOsgiExtenderThread-78" java.lang.NoClassDefFoundError: org/apache/hadoop/fs/HdfsBlockLocation
at
org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:125)
.....
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.fs.HdfsBlockLocation not found by wrap_mvn_org.apache.hadoop_hadoop-common_2.0.0-cdh4.2.0 [441]
at
org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:812)
camel hdfs支持Hadoop 1.1或1.2(取决于使用的camel版本)。 此组件尚未升级为支持Hadoop 2 在ServiceMix中运行时,Hadoop 2需要OSGi捆绑包。将它们作为包装安装并不总是可行的 所以答案是,Hadoop还不支持camel-hdfs