NameNode:无法在Windows 7中启动namenode

时间:2017-11-28 11:12:58

标签: windows hadoop hdfs namenode

我正在尝试在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)

2 个答案:

答案 0 :(得分:2)

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

  

Windows上必须使用本机IO,如果没有它,您将无法使安装正常运行。您必须遵循BUILDING.txt中的所有说明,以确保正确构建本机IO支持

Hadoop2 on Windows

答案 1 :(得分:0)

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

GitHub

下载您的版本的winutils

<HADOOP_HOME>/bin/

复制粘贴winutils

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