Nutch1.8 + Hadoop2.3.0 在 inject 时出现 java.lang.IllegalArgumentException: Wrong FS

shampire 2014-07-24 09:33:26
我在Nutch 1.8的deploy目录下面单步执行 nutch inject crawl urls, 在MapReduce的步骤都快完成时报错:


14/07/24 14:56:36 INFO jvm.JvmMetrics: Cannot initialize JVM Metrics with processName=JobTracker, sessionId= - already initialized
14/07/24 14:56:36 ERROR crawl.Injector: Injector: java.lang.IllegalArgumentException: Wrong FS: hdfs://MyMasterNodeName:9000/user/hduser/crawl/1229285851, expected: file:///
at org.apache.hadoop.fs.FileSystem.checkPath(FileSystem.java:644)
at org.apache.hadoop.fs.RawLocalFileSystem.pathToFile(RawLocalFileSystem.java:79)
at org.apache.hadoop.fs.RawLocalFileSystem.deprecatedGetFileStatus(RawLocalFileSystem.java:506)
at org.apache.hadoop.fs.RawLocalFileSystem.getFileLinkStatusInternal(RawLocalFileSystem.java:722)
at org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:501)
at org.apache.hadoop.fs.FileSystem.isDirectory(FileSystem.java:1412)
at org.apache.hadoop.fs.ChecksumFileSystem.rename(ChecksumFileSystem.java:496)
at org.apache.nutch.crawl.CrawlDb.install(CrawlDb.java:159)
at org.apache.nutch.crawl.Injector.inject(Injector.java:295)
at org.apache.nutch.crawl.Injector.run(Injector.java:316)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.nutch.crawl.Injector.main(Injector.java:306)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.util.RunJar.main(RunJar.java:212)


我已经按照网上其他一些建议说的将Hadoop的 core-site.xml 和 hdfs-site.xml 文件修改并放到 Nutch 的 conf 文件夹下面,然后重新编译,但是还是遇到同样的问题。请教各位有谁知道如何解决吗?
...全文
486 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
percent0906 2014-08-24
  • 打赏
  • 举报
回复
上面的问题,你解决了吗,我也遇到过同样的问题了
shampire 2014-07-26
  • 打赏
  • 举报
回复
目前看来似乎是Yarn的问题所导致的,需要修改Hadoop里面Yarn的设置
shampire 2014-07-25
  • 打赏
  • 举报
回复
引用 1 楼 qingyuan18 的回复:
hadoop dfs -ls hdfs://MyMasterNodeName:9000/user/hduser/crawl/1229285851 看看这个dfs目录有什么问题
多谢. 查过了 没见到有什么异常 可以打开的 HDFS 里面的 crwal. 目录底下那个是MapReduce的job编号 每次报错的job目录都不同的. 我也试过修改到不同的数据库名录 例如 crwaldb nutchdb等, 这些目录都可以正常创建 但就是在这一步写入的时候报同样的错误, 例如 crwaldb/1234567890 nutchdb/1234567890 等都会报错 我的疑惑是 如果 Nutch 完全不能识别 HDFS 的文件路径 那么照理前面这些目录hdfs://MyMasterNodeName:9000/user/hduser/crawl 都应该无法创建才对 当时就应该报错 但是成功创建了这些目录说明Nutch已经安装Hadoop的设置找到DataNode并且成功写入了 Log也可以查到 但为什么到这一步又说expected: file:///, 如果是期望的文件路径不符 应该一开始就报错呀 难道Nutch在不同的步骤所遵循的configuration还不一样?
qingyuan18 2014-07-24
  • 打赏
  • 举报
回复
hadoop dfs -ls hdfs://MyMasterNodeName:9000/user/hduser/crawl/1229285851 看看这个dfs目录有什么问题

20,808

社区成员

发帖
与我相关
我的任务
社区描述
Hadoop生态大数据交流社区,致力于有Hadoop,hive,Spark,Hbase,Flink,ClickHouse,Kafka,数据仓库,大数据集群运维技术分享和交流等。致力于收集优质的博客
社区管理员
  • 分布式计算/Hadoop社区
  • 涤生大数据
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧