我是hadoop的初学者,我有运行在250gblinux上的单节点hadoop。我有一个外置硬盘,有超过1 tb的数据。我的问题是如何使这些数据对hadoop可见而不将它们复制到hdfs中。我试图把挂载的硬盘驱动器到datanode.dir,但我看不到文件。
fv2wmkja1#
如果hadoop客户机与连接到外部hd的客户机位于同一台计算机上,则可以使用localfilesystem访问数据。例如,您可以运行:
hadoop fs -ls file://path/to/external/dir
上面的命令应该列出指定的本地绝对路径的内容。
6tr1vspr2#
上面给出的答案将显示hdfs中已有的内容。 "hadoop fs -ls" 命令用于查看hdfs中的内容。由于hdfs是一个不同于您的个人计算机文件系统的文件系统,因此您无法使用查看您的本地计算机上当前的数据 "hadoop fs -ls file://path/to/external/directory" .但是您可以在hadoop程序中访问外部硬盘的数据mapreduce作业中访问本地计算机数据的简单代码段可以在下面找到question:- reading 数据直接从本地机器Map到reduce作业
"hadoop fs -ls"
"hadoop fs -ls file://path/to/external/directory"
pprl5pva3#
这是不可能的。hadoop强调“数据本地化”,这是hadoop区别于经典网格计算的一个关键设计因素。这也是hdfs和mapreduce一起部署在节点中的原因。数据本地化在许多方面提高了计算速度。这是不可能的其他几个博兹更多的设计和性能的原因。我建议你研究一下hdfs的概念。。希望这有帮助!
3条答案
按热度按时间fv2wmkja1#
如果hadoop客户机与连接到外部hd的客户机位于同一台计算机上,则可以使用localfilesystem访问数据。
例如,您可以运行:
上面的命令应该列出指定的本地绝对路径的内容。
6tr1vspr2#
上面给出的答案将显示hdfs中已有的内容。
"hadoop fs -ls"
命令用于查看hdfs中的内容。由于hdfs是一个不同于您的个人计算机文件系统的文件系统,因此您无法使用查看您的本地计算机上当前的数据
"hadoop fs -ls file://path/to/external/directory"
.但是您可以在hadoop程序中访问外部硬盘的数据mapreduce作业中访问本地计算机数据的简单代码段可以在下面找到question:- reading 数据直接从本地机器Map到reduce作业
pprl5pva3#
这是不可能的。hadoop强调“数据本地化”,这是hadoop区别于经典网格计算的一个关键设计因素。这也是hdfs和mapreduce一起部署在节点中的原因。
数据本地化在许多方面提高了计算速度。这是不可能的其他几个博兹更多的设计和性能的原因。我建议你研究一下hdfs的概念。。
希望这有帮助!