java\u home错误:是否更改java或hadoop-env.sh文件的版本?

r6l8ljro  于 2021-05-30  发布在  Hadoop
关注(0)|答案(1)|浏览(290)

在mac 10.7.5上安装hadoop 2.6.0的单节点设置时,手册http://hadoop.apache.org/docs/r1.2.1/single_node_setup.html 需要更新java\u home。也就是说,
在“准备启动hadoop群集”一节中,它说:
“在发行版中,编辑conf/hadoop-env.sh文件,至少将java\u home定义为java安装的根目录。”
我使用终端查询'/usr/libexec/java\u home'的结果,即/system/library/java/javavirtualmachines/1.6.0.jdk/contents/home,作为java\u home的值。
因此,hadoop脚本由于错误而无法工作:/system/library/java/javavirtualmachines/1.6.0.jdk/contents/home:bad substitution。
这个错误很可能是由于当前安装在mac上的不匹配。我的java是8.0\u25,hadoop使用的是6.0\u05(最好来自sun)。另外,这是jdk的路径,而不是jre,这可能是需要的。
不幸的是,我在oraclejava档案中没有找到任何用于macos的javaire1.6.x。http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html

egdjgwm8

egdjgwm81#

hadoop需要JDK1.6或更高版本。要查找已安装java的位置,请执行以下步骤。
在linux命令行中输入命令,如果java已经安装并添加到path中,java可能会给您一个位置。键入ll这将为您提供java存在的确切位置。
如:
哪个java/usr/bin/java
ls-all/usr/bin/java lrwxrwxrwx 1 root根9月17日09:43/usr/bin/java->/etc/alternatives/java
ls-all/etc/alternatives/java lrwxrwx 1 root根目录35 sep 17 09:43/etc/alternatives/java->/usr/lib/jvm/jdk1.7.0_/bin/java
在本例中,javahome的值将是/usr/lib/jvm/jdk1.7.0\u60
使用此值并将其添加到hadoop-env.sh中,例如:export java\u home=/usr/lib/jvm/jdk1.7.0\u 60
如果jdk不存在,则必须安装jdk。你提到过jre。你应该使用jdk。jdk for mac在oracle网站上提供。
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
下面的安装文档的版本是1.2.1,hadoop的版本是2.6.0。使用正确的安装文档。
http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-common/singlecluster.html

相关问题