Я довольно новичок в Ubuntu / Linux и совершенно новичок в Hadoop.
Я следую за руководством здесь:
Я использую Java 9.0.1 и пытаюсь установить Hadoop 2.8.2.
Это очень хороший гид, но я, кажется, наткнулся на загадку.
Чтобы дать некоторую предысторию, я не завершил проверку контрольной суммы в части 2, потому что ссылка mds для версии Hadoop, которую я скачал, кажется мертвой.
Также до того, как я нашел руководство выше, у меня была пара неудачных попыток установить Java и установить переменные среды для Java! В конце концов мне удалось установить Java 9.0.1 с SDKMAN.
С этими признаниями теперь я могу сформулировать проблему:
Я на шаге 3 руководства, когда набираю:
readlink -f /usr/bin/java | sed "s:bin/java::"
I просто получите:
/usr/
Когда я смотрю в свой файл usr / bin, я даже не вижу папки java? Однако используется ли папка java / local?
Может кто-нибудь сказать мне, как выполнить шаг 3 «Настройка пути к Java» в моей конфигурации?
Когда я набираю
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
.