我有一些由 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)
<br/> url=http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-linux-i586.tar.gz
<br/> if [ "x86_64" == "$arch" ]; then
<br/> url=http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-linux-x64.tar.gz
<br/> fi
<br/> (add)
<br/> url=http://download.oracle.com/otn-pub/java/jdk/7u9-b05/jdk-7u9-linux-i586.tar.gz
<br/> if [ "x86_64" == "$arch" ]; then
<br/> url=http://download.oracle.com/otn-pub/java/jdk/7u9-b05/jdk-7u9-linux-x64.tar.gz
<br/> fi
<br/> (delete)
<br/> curl $url -L --silent --show-error --fail --connect-timeout 60 --max-time 600 --retry 5 -o <code>$tmpdir/`basename $url`</code>
<br/> (add)
<br/> wget -c --no-cookies --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F" $url <code>--output-document=$tmpdir/`basename $url`</code>
最佳答案
借助 Whirr,您可以尝试将 install_oab_java
函数用作 java.install-function
。我遇到了类似的问题,您可以在下面的链接中找到详细信息:
Create hadoop cluster with apache whirr
希望这对您有所帮助。
关于hadoop - 如何通过 whirr 在 EC2 集群上安装 JDK 7?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13225149/