使用 hadoop 时出现错误“无法从 /webhdfs/v1/?op=LISTSTATUS:服务器错误检索数据”

Posted

技术标签:

【中文标题】使用 hadoop 时出现错误“无法从 /webhdfs/v1/?op=LISTSTATUS:服务器错误检索数据”【英文标题】:Error "Failed to retrieve data from /webhdfs/v1/?op=LISTSTATUS: Server Error" when using hadoop 【发布时间】:2018-02-11 20:04:14 【问题描述】:

我打开 localhost:9870 并尝试将 txt 文件上传到 hdfs。

我看到下面的错误消息

Failed to retrieve data from /webhdfs/v1/?op=LISTSTATUS: Server Error

【问题讨论】:

你真的启用了 WebHDFS 吗?此错误是针对文件列表,而不是上传 @cricket_007 我想我做到了。我可以打开 localhost:9870 是不是意味着我启用了 webhdfs? 9870 是 NameNode,而不是 WebHDFS hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/… @cricket_007 我应该使用什么命令来启用 WebHDFS?请原谅我的愚蠢。 【参考方案1】:

我在使用 JDK 9 时遇到了同样的问题。 我的解决方法是在 hadoop-env.sh 中添加这一行

export HADOOP_OPTS="--add-modules java.activation"

那是因为 java.activation 包在 Java 9 中已被弃用。

【讨论】:

我有 -Hadoop 3.0.0 -Java 9.0.4 这个解决方案对我有用。谢谢 S2L【参考方案2】:

我通过下载 hadoop 2.9.2 并将 activation-1.1.jar 文件从该下载文件复制到您用于 Hadoop 3 的 $HADOOP_HOME/share/hadoop/yarn 文件夹中,使其与 OpenJDK 13 一起使用。然后您必须运行 stop-dfs.shstop-yarn.sh 然后再次启动它们。无需使用此方法编辑任何配置文件,因为它会自动添加到类路径中。

【讨论】:

已确认之前的答案对我不起作用(v11),但您的解决方案可以。您可能需要更新到 1.1.1 我会编辑这个链接到这里而不是 DLing 所有以前的版本...mvnrepository.com/artifact/javax.activation/activation/1.1.1【参考方案3】:

刚刚解决了这么一个问题,我有多个java版本和hadoop3.1.0。

你需要在etc/hadoop/hadoop-env.sh中指定java home变量,java版本应该是1.8。

【讨论】:

以上是关于使用 hadoop 时出现错误“无法从 /webhdfs/v1/?op=LISTSTATUS:服务器错误检索数据”的主要内容,如果未能解决你的问题,请参考以下文章

在 Hadoop 2.7.3 上执行简单 SQOOP 导入命令时出现 Sqoop 错误

执行字数统计程序时出现Hadoop错误

在 ubuntu 12.04lts 上安装 hadoop 时出现 start-all.sh 错误

HADOOP HTTPFS:通过 Http 访问应用程序时出现错误“用户:ubuntu 不允许模拟 ubuntu”

为什么Windows10上的Hadoop安装错误期间运行“ hdfs namenode -format”命令时出现错误?

hadoop fs -put localfile . 时出现如下错误: could only be replicated to 0 nodes, instead of 1