4

我有一些由 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

但这会导致安装过程失败,尝试修改如下脚本似乎没什么用:

whirr-0.8.1\core\src\main\resources\functions\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`

4

1 回答 1

1

使用 Whirr,您可以尝试将install_oab_java函数用作java.install-function. 我有类似的问题,您可以在下面的链接中找到详细信息:

使用 apache whirr 创建 hadoop 集群

希望这可以帮助。

于 2012-11-05T11:30:52.017 回答