【问题标题】:Using camel-hdfs component with Hadoop 2在 Hadoop 2 中使用 camel-hdfs 组件
【发布时间】:2013-11-01 11:27:06
【问题描述】:

我对 servicemix 和 osgi 还很陌生,我想知道是否有人在 servicemix 中使用带有 hadoop 2.x 集群的 camel hdfs 组件取得了任何成功。

我尝试了此操作,但遇到了 IPC 版本不匹配问题。为了解决这个问题,我分叉了 camel-hdfs 组件,修改了 hadoop 依赖项,并且对组件进行了很少的更改,使其在作为独立应用程序部署并通过所有测试时工作。

现在的挑战是在 servicemix 中运行它,即使我使用 wrap:* 命令将依赖的 hadoop 库包装为一个包,初始化 hadoop 类也存在问题。我得到的一个示例异常是

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)

【问题讨论】:

    标签: java hadoop apache-camel hdfs apache-servicemix


    【解决方案1】:

    camel-hdfs 支持 Hadoop 1.1 或 1.2(取决于使用的 Camel 版本)。 此组件尚未升级为支持 Hadoop 2。

    当您在 ServiceMix 中运行时,您将需要用于 Hadoop 2 的 OSGi 包。并非总是可以将它们安装为 wrap。

    所以答案是,camel-hdfs 还不支持 Hadoop。

    【讨论】:

      猜你喜欢
      • 2013-05-04
      • 2019-12-26
      • 1970-01-01
      • 2019-11-15
      • 2012-11-07
      • 2017-03-27
      • 1970-01-01
      • 2020-07-19
      • 2020-09-01
      相关资源
      最近更新 更多