我有一些由Oracle JDK 7编译的map-reduce程序。 我正在尝试使用whirr 0.8.1来设置EC2集群来运行它们。 但是,由whirr 0.8.1安装的默认JDK似乎是Open JDK 6, 我在运行它们时遇到以下错误:
不支持的major.minor版本51.0
因此,我尝试通过设置:
来指定whirr的JDK版本whirr.java.install-function = install_oracle_jdk7
但这会导致安装过程失败, 尝试修改以下脚本似乎毫无用处:
呼呼-0.8.1 \芯\ SRC \主\资源\功能\ install_oracle_jdk7.sh
有没有人知道如何通过whirr在EC2集群上安装JDK 7?
非常感谢拉维。您页面中提到的以下信息是我错过的关键部分:
...我发现可以在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`
(add)
wget -c --no-cookies --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F" $url --output-document=$tmpdir/`basename $url`
答案 0 :(得分:1)
使用Whirr,您可以使用install_oab_java
函数作为java.install-function
。我有类似的问题,你可以在下面的链接中找到详细信息:
Create hadoop cluster with apache whirr
希望这会有所帮助。