我对 Ubuntu/linux 还很陌生,对 Hadoop 更是一无所知。
我正在遵循这里的指南:
我正在使用 Java 9.0.1,并尝试安装 Hadoop 2.8.2。
这是一本非常好的指南,但我似乎遇到了障碍。
为了提供一些背景信息,我没有完成第 2 部分中的校验和检查,因为我下载的 Hadoop 版本的 mds 链接似乎已失效。
此外,在找到上述指南之前,我曾尝试安装 Java 并设置 Java 的环境变量,但都失败了!我最终设法使用 SDKMAN 安装了 Java 9.0.1。
讲完这些,我现在可以陈述问题了:
我正在进行指南的第 3 步,然后输入:
readlink -f /usr/bin/java | sed "s:bin/java::"
我刚刚得到:
/usr/
当我查看我的 usr/bin 文件时,似乎甚至没有 java 文件夹?但是 use/local 中有一个 java 文件夹?
有人能告诉我如何使用我的配置完成第 3 步“设置 Java 路径”吗?
答案1
当我输入时,
whereis java
显示:java: /usr/local/java /usr/share/java /home/hugh/.sdkman/candidates/java/9.0.1-oracle/bin/java
步骤 3 的目标是配置您的 Java 主目录。根据您上面的评论,您的 Java 主目录是,这是配置文件中/home/hugh/.sdkman/candidates/java/9.0.1-oracle
要使用的值。即:JAVA_HOME
hadoop-env.sh
export JAVA_HOME=/home/hugh/.sdkman/candidates/java/9.0.1-oracle
让我再解释一下。说明要求您执行此操作,readlink -f /usr/bin/java | ...
因为该页面假定您已/usr/bin/java
符号链接到某个地方。但您没有。您的java
实际上位于/usr/local/java
,因此在您的情况下,等效的适当步骤将是:
readlink -f /usr/local/java | sed "s:bin/java::"
其中,readlink -f /usr/local/java
将输出/home/hugh/.sdkman/candidates/java/9.0.1-oracle/bin/java
,并且sed
命令将从中删除bin/java
,剩下/home/hugh/.sdkman/candidates/java/9.0.1-oracle
。