在shell脚本中运行Hadoop命令

时间:2014-05-17 19:38:17

标签: java shell hadoop

我有一个简单的shell脚本,我想将其用于将日志文件移动到我的Hadoop集群中。

当我在Java程序中调用shell脚本时,找不到脚本" Hadoop命令",我不采取任何行动。

例如,我想运行以下命令:

#!/bin/bash
hadoop fs -put /home/can/workspace2/myWebApp/tweets.txt /user/training/tweetFolder

如何以简单的方式解决这个问题?

2 个答案:

答案 0 :(得分:2)

如果您使用CDH,HDP等可执行文件安装了Hadoop,它应该可以正常工作。但如果它是通过Apache的tarball进行设置,则需要使用完整路径和bin /,因为bin目录包含所有可执行文件。

  

HADOOP_HOME / bin / hadoop fs -put   /home/can/workspace2/myWebApp/tweets.txt / user / training / tweetFolder

此外,设置HADOOP_HOME变量始终是一个好习惯。

答案 1 :(得分:0)

我认为这是一个路径问题。检查hadoop的路径:

which hadoop

然后将完整路径放在脚本上。