1

我正在尝试在 Windows 机器上安装 Hadoop,中间出现以下错误。

日志

 17/11/28 16:31:48 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:609)
    at org.apache.hadoop.fs.FileUtil.canWrite(FileUtil.java:996)
    at org.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.analyze 
 Storage(Storage.java:490)
    at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverStorageDirs(FSImage.java:369)
    at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:225)
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFSImage(FSNamesystem.java:978)
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFromDisk(FSNamesystem.java:685)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.loadNamesystem(NameNode.java:585)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:645)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:819)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:803)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1500)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1566)
4

2 回答 2

2

看起来您没有安装Hadoop winutils或使用本机库构建 Hadoop

Native IO 在 Windows 上是强制性的,没有它你将无法让你的安装工作。您必须遵循 BUILDING.txt 中的所有说明,以确保正确构建原生 IO 支持

Windows 上的 Hadoop2

于 2017-11-29T00:42:22.250 回答
0

我也有类似的问题。我正在使用 Hadoop-2.8.1。这些步骤为我解决了错误。

从GitHub下载你的版本的 winutils

复制粘贴 winutils 在<HADOOP_HOME>/bin/

还。仔细检查 JAVA_HOME 环境是否正确设置并在 hadoop-env.cmd 文件中引用

于 2017-12-05T09:08:27.157 回答