我在AMI 3.0.4的EMR集群上。一旦群集启动,我就会掌握并手动执行以下操作:
cd /home/hadoop/share/hadoop/common/lib/
rm guava-11.0.2.jar
wget http://central.maven.org/maven2/com/google/guava/guava/14.0.1/guava-14.0.1.jar
chmod 777 guava-14.0.1.jar
是否可以在引导操作中执行上述操作?谢谢!
答案 0 :(得分:1)
是的,您可以添加引导脚本来执行此操作。创建一个shell脚本并将其上传到s3,然后在EMR的bootstrap操作中使用脚本路径。
例如,你可以在s3存储桶中保存guava-14.0.1.jar并下载
#!/bin/bash
hadoop fs -copyToLocal s3n://rootbucket/myjars/guava-14.0.1.jar /home/hadoop/share/hadoop/common/lib/
rm -rf /home/hadoop/share/hadoop/common/lib/guava-11.0.2.jar
我假设您正在执行此操作,因为您对地图缩减代码中的14.0.1 jar有一些依赖性。您可以添加guava-14.0.1.jar来构建胖jar并将jar作为自定义jar上传以运行您的作业