Hadoop 3.1.2 无法从 /webhdfs/v1/?op=LISTSTATUS 检索数据:服务器错误

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

我正在使用在伪分布式模式下运行的 hadoop 3.1.2 和 jdk-12.0.1。到目前为止,从命令行开始,一切似乎都正常工作,我可以上传从 hdfs 和本地检索的文件。 出于某种原因,当我打开实际上是通过 http://ip:9870 访问的名称节点并导航到 utilities/Browse 目录时,浏览器打开,这就是突出显示的内容 "Failed to retrieve data from /webhdfs/v1/?op=LISTSTATUS: Server Error" 我知道之前有人问过这个问题 Error "Failed to retrieve data from /webhdfs/v1/?op=LISTSTATUS: Server Error" when using hadoop 但答案并不令人满意,这就是我重新审理此案的原因。

hdfs-site.xml 
<configuration>
<property>
 <name>dfs.replication</name>
 <value>1</value>
</property>

<property>
  <name>dfs.name.dir</name>
    <value>file:///home/debian/hadoopdata/hdfs/namenode</value>
</property>

<property>
  <name>dfs.data.dir</name>
    <value>file:///home/debian/hadoopdata/hdfs/datanode</value>
</property>
</configuration>

我的 netstat -ntlp 的输出,以防万一缺少某些东西

tcp        0      0 0.0.0.0:9864            0.0.0.0:*               LISTEN      6033/java
tcp        0      0 192.168.0.250:9000      0.0.0.0:*               LISTEN      5935/java
tcp        0      0 0.0.0.0:9866            0.0.0.0:*               LISTEN      6033/java
tcp        0      0 0.0.0.0:9867            0.0.0.0:*               LISTEN      6033/java
tcp        0      0 0.0.0.0:9868            0.0.0.0:*               LISTEN      6196/java
tcp        0      0 0.0.0.0:9870            0.0.0.0:*               LISTEN      5935/java
tcp        0      0 127.0.0.1:46613         0.0.0.0:*               LISTEN      6033/java
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN  

好的,我终于解决了这个问题,我很难更改 Java 版本并使用 1.8.0_201 这解决了我的问题。一切都按预期工作,快速说明如何 运行 解决这个问题 不要使用 java 9,10,11,12 和 hadoop 他们玩得不好 你会得到各种奇怪的行为。在我写这篇文章的时候在列表中 :) 这就是它的立场。 8042端口已经开通,我也可以访问浏览器了http://ip:8042

如您所知,Hadoop 不支持 Java 12(截至 07/02/2019)。

维基 Hadoop Java 版本 描述了当前支持的 Java 版本。

要查看 Java 11 LTS 何时受支持,您可以跟踪此 JIRA。