2012-04-05 65 views
1

我在写一个抓取页面的hadoop作业。我正在使用的库使用文件系统在爬网时存储爬网数据。我确信这个库将不得不被修改为使用HDFS,因为当我使用的爬虫库使用java.io时,需要使用完全不同的一组类来接口HDFS。为什么使用hdfs://前缀作为文件路径允许打开文件?

但是,当一位同事使用hdfs:// localhost/path/to/storage时,抓取程序工作的存储文件夹的路径可以写入文件系统。我试图理解为什么这会起作用,基于hadoop的jvms有什么不同,导致他们解决HDFS上hdfs://路径的前缀路径?

+1

你确定它在HDFS中不在本地文件系统中?) – 2012-04-05 11:43:01

+0

@ThomasJungblut你是对的。它实际上是写入本地文件系统。 – rsman 2012-04-17 14:36:56

回答

2

我不知道你使用的是什么样的HDFS接口。 Hadoop提供了一个通用的文件系统层。如果你没有在你的hadoop配置文件中指定NameNode地址(在HADOOP_HOME/conf/core-site.xml中,并且该属性的名称是“fs.default.name”),那么你所有的“hadoop fs ...”评论将默认为本地文件系统。所以,如果你不知道什么是hadoop配置,包括“hdfs:// namenode:port /”作为前缀是一个好主意。

相关问题