我有一些由Oracle JDK 7编写的MAP-REDUCE程序。而且我正在尝试使用WHIRR 0.8.1设置EC2群集来运行它们。但是,WHIRR 0.8.1安装的默认JDK似乎是打开的JDK 6,我在运行它们时遇到了以下错误:
不支持的Major.Minor版本51.0
因此,我尝试通过设置来指定WHIRR的JDK版本:
whirr.java.install-function = install_oracle_jdk7
,但这将导致安装过程失败,尝试修改以下脚本似乎没有用:
whirr-0.8.1 core src src main resources functions install_oracle_jdk7.sh
有人知道如何通过Whirr在EC2群集上安装JDK 7?
非常感谢Ravi。您页面中提到的以下信息是我错过的关键文章:
...我发现可以在Whirr安装目录中创建功能目录并将所有修改的Shell脚本放在此处...
我尝试将修改后的install_oracle_jdk7.sh放入whirr-0.8.1 functions,这确实有效。以下是我在install_oracle_jdk7.sh中的修改:
(delete)
url=http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-linux-i586.tar.gz
if [ "x86_64" == "$arch" ]; then
url=http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-linux-x64.tar.gz
fi
(add)
url=http://download.oracle.com/otn-pub/java/jdk/7u9-b05/jdk-7u9-linux-i586.tar.gz
if [ "x86_64" == "$arch" ]; then
url=http://download.oracle.com/otn-pub/java/jdk/7u9-b05/jdk-7u9-linux-x64.tar.gz
fi
(delete)
curl $url -L --silent --show-error --fail --connect-timeout 60 --max-time 600 --retry 5 -o $tmpdir/`basename $url`
(添加)
wget -c -no -cookies -ne -neader" cookie:gpw_e24 = http%3A%2f%2f%2fwwwww.oracle.com%2F" $ url --output-document=$tmpdir/`basename $url`
使用whirr,您可以用install_oab_java
函数作为java.install-function
尝试。我也有类似的问题,您可以在下面的链接中找到详细信息:
用Apache Whirr
创建Hadoop群集希望这会有所帮助。