0

我正在使用 hadoop-2.5.1 和 hbase-1.0.1

当我在工作节点上启动数据节点时

hadoop-daemon.sh start datanode 

它抛出SLF4J:class path contains multiple  SLF4J bindings

并且数据节点没有开始

4

1 回答 1

0

我在安装 hive 时遇到了同样的错误。简单的解决方案是从 hive 的文件夹中删除 slf4j jar 文件,因此出现了这个多 jar 错误。

现在有多个 slf4j jar 文件,所以在你的错误日志中检查哪个 slf4j jar 导致错误很可能是 slf4j-log4j12 或类似的东西。它实际上取决于您的配置单元和 Hadoop 版本。

发生此错误是因为 Hadoop lib 文件夹中存在相同的 jar,该文件夹包含与 hadoop 相关的所有 jar 以及 hive lib 文件夹。现在,当我们在 hadoop 之后安装 hive 时,再次添加常见的 jar,因为它也存在于 hadoop lib 文件夹中,因此需要从 hive lib 文件夹中删除它,因为 hive 会自动从 Hadoop lib 文件夹中检测到这个 jar,因为它的依赖性在 Hadoop 上。因此从 hive lib 文件夹中删除它是安全的。

希望这能解决您的查询

于 2017-01-29T16:20:52.483 回答