Hadoop 名称节点格式 windows - java.lang.UnsupportedOperationException

Hadoop namenode formatting windows - java.lang.UnsupportedOperationException

我在学校从事数据库工作 class,我的教授让我们使用 hadoop v3.2.1。在按照在 windows 上安装的 youtube 教程进行操作时,我卡在了格式化名称节点部分。这是 cmd 中出现的内容:

2020-03-15 15:38:05,819 INFO util.GSet: Computing capacity for map NameNodeRetryCache
2020-03-15 15:38:05,819 INFO util.GSet: VM type       = 64-bit
2020-03-15 15:38:05,820 INFO util.GSet: 0.029999999329447746% max memory 889 MB = 273.1 KB
2020-03-15 15:38:05,820 INFO util.GSet: capacity      = 2^15 = 32768 entries
2020-03-15 15:38:05,883 INFO namenode.FSImage: Allocated new BlockPoolId: BP-381120843-10.0.0.230-1584301085876
2020-03-15 15:38:05,884 ERROR namenode.NameNode: Failed to start namenode.
java.lang.UnsupportedOperationException
        at java.nio.file.Files.setPosixFilePermissions(Files.java:2044)
        at org.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.clearDirectory(Storage.java:452)
        at org.apache.hadoop.hdfs.server.namenode.NNStorage.format(NNStorage.java:591)
        at org.apache.hadoop.hdfs.server.namenode.NNStorage.format(NNStorage.java:613)
        at org.apache.hadoop.hdfs.server.namenode.FSImage.format(FSImage.java:188)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:1206)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1649)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1759)
2020-03-15 15:38:05,887 INFO util.ExitUtil: Exiting with status 1: java.lang.UnsupportedOperationException
2020-03-15 15:38:05,889 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at DrStrange/10.0.0.230
************************************************************/

这是我的属性:

核心-site.xml:

<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
  </property>
</configuration>

mapred-site.xml

<configuration>
  <property>
    <name>mapreduce.framework.name</name>
      <value>yarn</value>
  </property>
</configuration>

hdfs-site.xml

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>C:\hadoop-3.2.1\data\namenode</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>C:\hadoop-3.2.1\data\datanode</value>
  </property>
</configuration>

纱-site.xml:

<configuration>
<!-- Site specific YARN configuration properties -->
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
  <property>
    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
  </property>
</configuration>

我正在学习本教程: How to Install Hadoop on Windows 直到读到一半时,我才意识到它太旧了,然后切换到这个: How to Install Hadoop 3.2.0 in Windows10

另外,我不知道这是否与我目前的问题有关,所以我会说这个。当我跳到下一步并键入 start-all 时,资源管理器和节点管理器都出错了。我想我会把它全部塞进一个问题。

众所周知,hadoop 3.2.1 无法在 windows 10 上正常运行。我安装了3.2.0,现在正在进步。

下面的错误是Bug in Hadoop 3.2.1

此问题将在下一个版本中解决。目前,您可以使用以下步骤临时修复它:

  1. following link 下载 hadoop-hdfs-3.2.1.jar 文件。
  2. 将文件夹 %HADOOP_HOME%\share\hadoop\hdfs 中的文件名 hadoop-hdfs-3.2.1.jar 重命名为 hadoop-hdfs-3.2.1.bak
  3. 将下载的 hadoop-hdfs-3.2.1.jar 复制到文件夹 %HADOOP_HOME%\share\hadoop\hdfs

参考资料