hdfs dfs命令很慢 - 有没有办法让它更快?

时间:2014-01-19 23:34:46

标签: hadoop hdfs

我在Hadoop 2.2.0,正在运行单节点设置。

我的理解是hdfs dfs -ls很慢,因为每次调用它时都会调动JVM

有没有办法让它保持JVM运行,这样简单的命令可以更快完成?

4 个答案:

答案 0 :(得分:5)

我想告诉您我们为解决此问题所采取的解决方案。

我们创建了一个新的实用程序 - HDFS Shell ,以便更快地使用HDFS。

https://github.com/avast/hdfs-shell

  • HDFS DFS为每个命令调用启动JVM,HDFS Shell只执行一次 - 这意味着当您需要更频繁地使用HDFS时可以提高速度
  • 命令可以短时间使用 - 例如。 hdfs dfs -ls /ls / - 两者都有效
  • 使用TAB键完成HDFS路径
  • 我们可以轻松添加任何其他HDFS操作功能
  • 历史记录中有一个命令历史记录(〜/ .hdfs-shell / hdfs-shell.log)
  • 支持相对目录+命令cdpwd
  • 还有更多......

答案 1 :(得分:1)

在pig grunt shell中,像fs -ls这样的命令工作得非常快,因此这可能是一种实用的解决方法。问题是,当尝试将输出传递给其他命令时,这不能很好地工作。

所以我一起攻击了一个脚本来启动pig grunt shell作为后台进程并通过命名管道与它进行通信:https://unix.stackexchange.com/a/144722/46085。问题是,即使我使用script工具伪造一个真正的终端(因为grunt shell需要这样做),grunt shell有时仍然会自杀。在使用head左右截断输出时,我也会遇到问题,因为它仍然会尝试写入整个输出,而输出又会在命名管道中留下过时的输出。

无论如何,你可能会看看它是否适合你。我很感激您的任何改进。

答案 2 :(得分:0)

Hadoop fs -ls运行速度很慢,需要20秒才能启动。我发现,当我连接到wifi时,它会发生。

因此,当我需要运行hadoop命令时,我会断开wifi连接。不确定是什么问题,但我很高兴。

答案 3 :(得分:0)

结帐Hadoop Tools。它提供了与hdfs dfs类似的界面,但速度更快。它还支持在HDFS上使用bash完成文件名的选项卡完成,这可以节省大量时间。

但它不支持put