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

问题描述 投票:0回答:6

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

我看到下面的错误消息

Failed to retrieve data from /webhdfs/v1/?op=LISTSTATUS: Server Error
hadoop hdfs
6个回答
4
投票

我在 JDK 9 上也遇到了同样的问题。 对我来说,解决方法是在 hadoop-env.sh 中添加这一行

导出 HADOOP_OPTS="--add-modules java.activation"

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


4
投票

我通过下载 hadoop 2.9.2 并将下载的

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


3
投票

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

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


0
投票

出现这种情况是由于作为 Homebrew 依赖项安装的 Java 和 OpenJDK 版本冲突。所以最好卸载 Java。使用下面的命令

  1. 卸载java

#!/bin/bash

sudo rm -rvf /Library/Java/JavaVirtualMachines/jdk<version>.jdk
sudo rm -rvf /Library/PreferencePanes/JavaControlPanel.prefPane
sudo rm -rvf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
sudo rm -rvf /Library/LaunchAgents/com.oracle.java.Java-Updater.plist
sudo rm -rvf /Library/PrivilegedHelperTools/com.oracle.java.JavaUpdateHelper
sudo rm -rvf /Library/LaunchDaemons/com.oracle.java.JavaUpdateHelper.plist
sudo rm -rvf /Library/Preferences/com.oracle.java.Helper-Tool.plist

您可以通过[此链接][1]查看

  1. 创建符号链接以指向 Homebrew 打开 JDK 依赖项

    sudo ln -sfn $(brew --prefix)/opt/openjdk@11/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-11.jdk

  2. 使用

    检查 Java 路径

    $ /usr/libexec/java_home

    它会生成这样的路径

    /opt/homebrew/Cellar/openjdk@11/11.0.18/libexec/openjdk.jdk/Contents/Home

  3. 在终端中使用此命令使用 OpenJDK 路径更新 Hadoop 环境文件

    $cd /opt/homebrew/Cellar/hadoop/3.3.1/libexec/etc/hadoop $代码hadoop-env.sh

使用以下内容更新 JAVA_HOME 路径

导出 JAVA_HOME=/opt/homebrew/Cellar/openjdk@11/11.0.18/libexec/openjdk.jdk/Contents/Home

奖励:使用

echo $JAVA_HOME

检查你的 java 路径

0
投票

尝试安装 Java 版本 11(或更低版本)或 1.8。我改成Java 1.8,它解决了我的问题。 Hadoop 不兼容高于 11 的 java 版本。


0
投票

所以如果你干扰了安装过程中使用的java,这个错误实际上就会出现,在我的例子中,我更改了系统中的jdk,我失去了对文件的Web访问权限,但不用担心可以轻松修复。所以我放回相同的jdk版本,它又回来了并且可以工作。

如果您使用的hadoop使用兼容的jdk版本,请检查 那么如果之前配置没问题,没有改变任何东西,它应该可以工作

建议jdk 1.8

© www.soinside.com 2019 - 2024. All rights reserved.