我需要使用带有java 8的Hadoop 2.6.5运行EMR集群。 与所需Hadoop版本对应的EMR为4.2.0,此版本运行Java 7。 来自这篇文章AWS EMR how to use shell script as bootstrap action?, 我知道我可以运行bash脚本(或不运行?)。
我正在尝试使用以下bash脚本向我的群集添加引导操作(自定义):
#!/bin/bash
yum update -y
sudo yum remove java-1.7.0-openjdk -y
sudo yum install java-1.8.0 -y
exit 0
我在AWS EMR控制台上的bootstrap后收到以下错误:
On 2 slave instances (including <some-id>), bootstrap action 2 returned a non-zero return code
然后群集终止。 我搜索了日志(在bootstrap-action下),我发现我的shell脚本确实有效
===============================================================================
Package Arch Version Repository Size
================================================================================
Removing:
java-1.7.0-openjdk x86_64 1:1.7.0.99-2.6.5.0.66.amzn1 @amzn-updates 90 M
Removing for dependencies:
.
.
.
Removed:
java-1.7.0-openjdk.x86_64 1:1.7.0.99-2.6.5.0.66.amzn1
.
.
.
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
java-1.8.0-openjdk x86_64 1:1.8.0.77-0.b03.9.amzn1 amzn-updates 222 k
.
.
.
Installed:
java-1.8.0-openjdk.x86_64 1:1.8.0.77-0.b03.9.amzn1
.
.
.
我只是不明白EMR在告诉我的时候正在寻找什么
bootstrap action 2返回了非零返回码
当我确实给他'退出0'时
感谢。