我已经在windows上安装了hadoop3.1.0。安装已成功完成(当我执行命令:“hadoop version”时,它为我提供了正确的版本,这意味着hadoop已成功安装),但当我要使用命令“start dfs.cmd”(从sbin目录)启动dfs时,它会给我下一个错误:
ERROR namenode.NameNode: Failed to start namenode.
java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z
at org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Native Method)
at org.apache.hadoop.io.nativeio.NativeIO$Windows.access(NativeIO.java:640)
at org.apache.hadoop.fs.FileUtil.canWrite(FileUtil.java:1220)
at org.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.analyzeStorage(Storage.java:667)
at org.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.analyzeStorage(Storage.java:620)
at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverStorageDirs(FSImage.java:371)
at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:227)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFSImage(FSNamesystem.java:1086)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFromDisk(FSNamesystem.java:714)
at org.apache.hadoop.hdfs.server.namenode.NameNode.loadNamesystem(NameNode.java:669)
at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:731)
at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:968)
at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:947)
at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1674)
at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1741)
我在另一篇文章中找到了一个解决方案,指出我应该安装hadoopwinutils,但问题没有得到解决。bin文件夹包含文件:“winutils.exe”和“winutils.pdb”。“hadoop env.cmd”文件中的java home变量设置为:“set java\u home=c:\progra~2\java\jdk1.8.0\u 181”。我检查了“c:\hadoop-3.1.0\hadoop-3.1.0\bin”和“c:\program files(x86)\java\jdk1.8.0\u 181\bin”是否已添加到path环境变量中。
我也把“hadoop.dll”文件放在“windows\system32”目录下,我重新启动了电脑,但仍然有同样的错误。
暂无答案!
目前还没有任何答案,快来回答吧!