Windows 中的 Nutch 1.14 给出异常 java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Wi

Posted

技术标签:

【中文标题】Windows 中的 Nutch 1.14 给出异常 java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z【英文标题】:Nutch 1.14 in windows giving exception java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z 【发布时间】:2018-07-08 14:36:21 【问题描述】:
While I am running Apache Nutch 1.14 I am getting following exception.

Injector: starting at 2018-07-08 10:15:56
Injector: crawlDb: crawl/crawldb
Injector: urlDir: urls
Injector: Converting injected urls to crawl db entries.
Exception in thread "main" 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.canRead(FileUtil.java:977)
        at org.apache.hadoop.util.DiskChecker.checkAccessByFileMethods(DiskChecker.java:187)

我已经安装了 Java 并将 hadoop 本地库(即 winutils.exe)放在 c:\winutil\bin 并指向 HADOOP_HOME。

不确定如何解决它,也找不到任何文档如何在 Windows 中运行 Nutch 1.14。如果有人有解决方案,请告诉我。

【问题讨论】:

【参考方案1】:

我发现解决该错误的唯一方法是来自此线程: Nutch on windows: ERROR crawl.Injector

关键是注释掉下面这行:

JAVA_LIBRARY_PATH="`cygpath -p -w "$JAVA_LIBRARY_PATH"`"

阅读 $NUTCH_HOME/lib/native 下的 README.txt 以获取有关 JAVA_LIBRARY_PATH 所引用的 hadoop 二进制文件的更多信息。

【讨论】:

以上是关于Windows 中的 Nutch 1.14 给出异常 java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Wi的主要内容,如果未能解决你的问题,请参考以下文章

nutch2.x在eclipse+windows环境下运行遇到的一些问题的解决方案

[Nutch]Nutch2.3+Hadoop+HBase+Solr在Ubuntu环境搭建

Nutch

golang sync.Pool在1.14中的优化

golang sync.Pool在1.14中的优化

从 Nutch 将 SolrRecord 添加到索引的时间