我已经按照以下步骤Step by step hadoop installation on windows 10
在本地成功安装了hadoop。Java安装版本:1.8.0_231 Hadoop安装版本:Hadoop 3.2.1
但是在运行命令hdfs namenode -format
之后,出现以下错误
Re-format filesystem in Storage Directory root= C:\hadoop-3.2.1\data\namenode; location= null ? (Y or N) y
2019-10-19 12:34:58,809 INFO namenode.FSImage: Allocated new BlockPoolId: BP-1445655329-172.18.148.177-1571468698797
2019-10-19 12:34:58,809 INFO common.Storage: Will remove files: []
2019-10-19 12:34:58,812 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)
2019-10-19 12:34:58,819 INFO util.ExitUtil: Exiting with status 1: java.lang.UnsupportedOperationException
2019-10-19 12:34:58,823 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at CWT-DST-0051/***.**.***.***
我对此很陌生,可能是什么问题? 预先感谢
答案 0 :(得分:4)
我通过安装Hadoop 2.9.1解决了该问题,Hadoop 3.2.1版本中存在namenode问题 hdfs namenode issue in 3.2.1
答案 1 :(得分:2)
如果您在Windows中安装了 32位 Java版本,则必须将环境变量JAVA_HOME
的路径设置为C:\Progra~2\Java\<JDK version>
,但似乎没有工作。
JAVA_HOME
设置为C:\Progra~1\Java\<JDK version>
来尝试 64位 Java版本。 在将64位Java版本设置为JAVA_HOME
之后,您必须在start-all.cmd
中再次运行cmd
。然后,除了namenode
,其他所有重传都起作用了。要运行namenode
,您必须执行以下步骤。
stop-all.cmd
hadoop namenode –format
start-all.cmd
希望它对您有用。
编辑-:
在您的配置文件中,您需要对文件URI使用正斜杠和协议
例如,更改
C:\BigData\hadoop-2.9.1\data\namenode
到
file:/C:/BigData/hadoop-2.9.1/data/namenode