Apache Ignite:IgniteHadoopIgfsSecondaryFileSystem 的依赖项是什么?

Apache Ignite: What are the dependencies of IgniteHadoopIgfsSecondaryFileSystem?

我正在尝试使用 Hadoop 设置 IGFS 作为辅助存储。我已将配置设置为 here,但我一直收到 NoClassDefFoundError。我已经下载了 Ignite 的两个二进制发行版,也尝试过从源代码构建,但不包括依赖项。 hadoop-common-2.6.0.jarignite-hadoop-1.4.0.jar 提供了一些依赖项,但现在我得到了 NoClassDefFoundErrororg/apache/hadoop/mapred/JobConf,据我所知,这是一个已弃用的 class...

我一直在按照 Apache Ignite 网站上的说明进行操作,但这是我所了解的。

IgniteHadoopIgfsSecondaryFileSystem 作为辅助存储需要哪些依赖项?

问题似乎出在 Ignite 节点的类路径上没有 Hadoop 库。要解决此问题,请尝试执行以下操作:

1) 使用 "Hadoop Accelerator" 版本的 Ignite 发行版(如果您自己构建发行版,请使用 -Dignite.edition=hadoop)。

2) 如果您使用的是 Apache Hadoop 发行版,或者如果您使用其他发行版(HDP、Cloudera、BigTop 等),请为 Ignite 进程设置 HADOOP_HOME 环境变量,确保 /etc/default/hadoop 文件存在并具有适当的内容。

或者,您可以手动将必要的 Hadoop 依赖项添加到 Ignite 节点类路径:这些是文件 modules/hadoop/pom.xml 中列出的 groupId "org.apache.hadoop" 的依赖项。目前他们是:

  1. hadoop 注释
  2. hadoop-auth
  3. hadoop-common
  4. hadoop-hdfs
  5. hadoop-mapreduce-client-common
  6. hadoop-mapreduce-客户端核心

如果您不想自己处理依赖项管理 - 这确实很难手动完成 - 我建议您查看为软件堆栈提供编排和部署服务的项目。检查 Apache Bigtop (bigtop.apache.org),它为 Apache Ignite、Hadoop、HDFS 和 space 中的几乎所有其他东西提供了预先切割的 linux 包。您可以在 http://ci.bigtop.apache.org/view/Packages/job/Bigtop-trunk-packages

从我们的 CI 获取最新的夜间套餐