我在AMI3.0.4的emr集群上。集群启动后,我将ssh连接到master并手动执行以下操作:
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
是否可以在引导操作中执行上述操作?谢谢!
我在AMI3.0.4的emr集群上。集群启动后,我将ssh连接到master并手动执行以下操作:
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
是否可以在引导操作中执行上述操作?谢谢!
2条答案
按热度按时间6xfqseft1#
是的,您可以添加引导脚本来执行此操作。创建一个shell脚本并上传到s3,然后在emr的bootstrap操作中使用脚本的路径。
e、 g您可以将guava-14.0.1.jar保存在s3 bucket中并下载它
我假设您这样做是因为您对map reduce代码中的14.0.1jar有一些依赖性。您可以使用添加的guava-14.0.1.jar构建fat jar,并将jar作为自定义jar上传以运行作业
xpszyzbs2#
在emr4.0中,hadoop的安装路径发生了变化。因此,guava-14.0.1.jar的手动更新必须更改为:
sandesh回答中的boostrap动作对我们不起作用。
编辑:
现在我们有了一个emr4.0的解决方案。必须在s3中提供spark-config.json,为spark执行器和驱动程序设置额外的类路径。在“编辑软件设置(可选)”部分中,您可以定义此配置文件的位置并从s3加载它。
spark-config.json文件
guava-14.0.1.jar需要通过boostrap脚本进行下载:guava\u download.sh