我的EMR作业取决于作业执行时应该存在于类路径中的一些外部jar。所以我把这些罐子装到了S3桶上 参考here我在haddop中尝试了copyToLocal操作。但引导操作抱怨/ usr / bin / hadoop不存在。使用/ home / hadoop / bin / hadoop时甚至失败了。我想知道其他人如何向BA中的每个主机下载jar。
Bash脚本
sudo / usr / bin / hadoop fs -copyToLocal' se:// my-bucket / emr-input / dependency-jars / *' / usr / lib中/ hadoop的
BA
时出错sudo:/ usr / bin / hadoop:command not found
答案 0 :(得分:0)
我按照此链接中的第二个选项,它对我有用
https://blog.cloudera.com/blog/2011/01/how-to-include-third-party-libraries-in-your-map-reduce-job/
它也适用于cloudera以及亚马逊的AWS。
在项目文件夹中创建 lib 文件夹,并在 lib 文件夹中添加所有外部jar文件。现在创建项目的jar文件。
现在,当您在集群上运行jar文件时,将处理外部依赖项。