我是Hadoop的初学者,我在250 GB的linux上运行单节点hadoop。
我有一个外置硬盘,它有超过1TB的数据。
我的问题是如何在不将数据复制到HDFS的情况下使这些数据对Hadoop可见。
我尝试将挂载的硬盘驱动器放入datanode.dir,但我看不到文件。
发布于 2014-12-27 10:45:36
如果在连接到外部硬盘的机器上安装了Hadoop客户端,则可以使用LocalFileSystem访问数据。
例如,您可以运行:
hadoop fs -ls file://path/to/external/dir 上面的命令应该将内容列出到指定的本地绝对路径。
发布于 2014-12-27 15:11:33
上面给出的答案将显示HDFS中已经存在的内容。
"hadoop fs -ls"命令用于查看HDFS中存在的内容。
由于HDFS是一个不同于您个人计算机的文件系统的文件系统,因此您不能使用"hadoop fs -ls file://path/to/external/directory"查看本地计算机上的数据。
但是你可以在hadoop程序中访问你的外部硬盘上的数据,在下面的问题中可以找到一个简单的代码片段,用于在mapreduce作业中从本地机器访问数据:- Reading data from local machine directly in map reduce jobs
发布于 2014-12-28 04:42:38
嗯,这是不可能的。Hadoop强调“数据本地化”,这是使Hadoop不同于经典网格计算的关键设计因素之一。这也是为什么HDFS和MapReduce一起部署在节点上的原因。
数据本地化在许多方面提高了计算速度。由于其他一些设计和性能方面的原因,boz是不可能的。我建议您研究一下HDFS的概念。
希望这能对你有所帮助!
https://stackoverflow.com/questions/27661556
复制相似问题