0

我正在尝试使用 Hadoop 作为辅助存储来设置 IGFS。我已经设置了我的配置,如此处所示但我不断得到NoClassDefFoundErrors。我已经下载了 Ignite 的两个二进制发行版,并尝试从源代码构建,但不包括依赖项。hadoop-common-2.6.0.jarignite-hadoop-1.4.0.jar提供了一些依赖项,但现在我得到了NoClassDefFoundError一个org/apache/hadoop/mapred/JobConf已弃用的类...

我一直按照 Apache Ignite 网站上的说明进行操作,但据我所知。

IgniteHadoopIgfsSecondaryFileSystem 作为二级存储需要哪些依赖项?

4

2 回答 2

1

看起来问题是 Ignite 节点在类路径上没有 Hadoop 库。要解决此问题,请尝试执行以下操作:

1) 使用 Ignite 发行版的“Hadoop Accelerator”版本(如果您自己构建发行版,请使用 -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-身份验证
  3. hadoop-通用
  4. hadoop-hdfs
  5. hadoop-mapreduce-client-common
  6. hadoop-mapreduce-client-core
于 2015-12-14T07:43:02.317 回答
-1

如果您不想自己处理依赖项管理(手动操作确实很难),我建议您查看为软件堆栈提供编排和部署服务的项目。检查 Apache Bigtop (bigtop.apache.org),它为 Apache Ignite、Hadoop、HDFS 和该领域的几乎所有其他东西提供了预切的 linux 包。您可以在http://ci.bigtop.apache.org/view/Packages/job/Bigtop-trunk-packages从我们的 CI 获取最新的夜间包

于 2015-12-18T04:44:18.610 回答