我有一个简单的shell脚本,我想将其用于将日志文件移动到我的Hadoop集群中。
当我在Java程序中调用shell脚本时,找不到脚本" Hadoop命令",我不采取任何行动。
例如,我想运行以下命令:
#!/bin/bash
hadoop fs -put /home/can/workspace2/myWebApp/tweets.txt /user/training/tweetFolder
如何以简单的方式解决这个问题?
答案 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
然后将完整路径放在脚本上。