我试图通过oozie shell执行-copyFromLocal。
hadoop fs -copyFromLocal '/usr/test/test1' '/user/hue/oozie/workspaces/shell/'
但有时会出现错误
log4j:ERROR Could not find value for key log4j.appender.TLA
log4j:ERROR Could not instantiate appender named "TLA".
copyFromLocal: `/usr/test/test1': No such file or directory
Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.ShellMain], exit code [1]
有时它工作正常,但有时它很难复制。请帮我解决这个问题。提前谢谢。
答案 0 :(得分:2)
由于我没有足够的声誉来添加评论,我会回答你的问题,假设你有一个至少有2台机器/节点的Hadoop集群。
如果是这样,则每次都会在群集上的任意节点上执行您的操作。这就是有时它找到文件的原因(如果它在具有该文件的机器上运行,可能是namenode),有时它找不到该文件(如果在不同的节点上执行该操作)。
只有在确保文件存在于群集中每个节点的相同位置时,它才会每次都有效。