Я пытаюсь установить Hbase с помощью этого руководства, и я натолкнулся на что-то любопытное: hbase не распознает мою версию Java, а Ubuntu 16.04 -.
mike@mike-thinks:~/hbase-1.2.6$ ./bin/start-hbase.sh
localhost: +======================================================================+
localhost: | Error: JAVA_HOME is not set |
localhost: +----------------------------------------------------------------------+
localhost: | Please download the latest Sun JDK from the Sun Java web site |
localhost: | > http://www.oracle.com/technetwork/java/javase/downloads |
localhost: | |
localhost: | HBase requires Java 1.7 or later. |
localhost: +======================================================================+
starting master, logging to /home/mike/hbase-1.2.6/bin/../logs/hbase-mike-master-mike-thinks.out
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0
regionserver running as process 13688. Stop it first.
mike@mike-thinks:~/hbase-1.2.6$ java -version
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)
Часто случается, что мне нужно выполнить следующую команду: export JAVA_HOME=/usr/
Может быть, мне нужно отредактировать start-hbase.sh
, чтобы добавить в него путь java, который я не помню командой, но я не могу найти, где мне это поставить.
Я сделал то, что сказал Драконовед, но, похоже, он все равно не нашел его, даже если сообщение об ошибке изменилось
mike@mike-thinks:~/hbase-1.2.6/bin$ JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/bin/
mike@mike-thinks:~/hbase-1.2.6/bin$ ./start-hbase.sh
/home/mike/hbase-1.2.6/bin/hbase: line 412: /usr/lib/jvm/java-8-openjdk-amd64/bin//bin/java: No such file or directory
/home/mike/hbase-1.2.6/bin/hbase: line 412: /usr/lib/jvm/java-8-openjdk-amd64/bin//bin/java: No such file or directory
starting master, logging to /home/mike/hbase-1.2.6/bin/../logs/hbase-mike-master-mike-thinks.out
/home/mike/hbase-1.2.6/bin/../bin/hbase: line 412: /usr/lib/jvm/java-8-openjdk-amd64/bin//bin/java: No such file or directory
regionserver running as process 13688. Stop it first.
mike@mike-thinks:~/hbase-1.2.6/bin$ sudo kill 13688
[sudo] password for mike:
mike@mike-thinks:~/hbase-1.2.6/bin$ ./start-hbase.sh
/home/mike/hbase-1.2.6/bin/hbase: line 412: /usr/lib/jvm/java-8-openjdk-amd64/bin//bin/java: No such file or directory
/home/mike/hbase-1.2.6/bin/hbase: line 412: /usr/lib/jvm/java-8-openjdk-amd64/bin//bin/java: No such file or directory
starting master, logging to /home/mike/hbase-1.2.6/bin/../logs/hbase-mike-master-mike-thinks.out
/home/mike/hbase-1.2.6/bin/../bin/hbase: line 412: /usr/lib/jvm/java-8-openjdk-amd64/bin//bin/java: No such file or directory
starting regionserver, logging to /home/mike/hbase-1.2.6/bin/../logs/hbase-mike-1-regionserver-mike-thinks.out
/home/mike/hbase-1.2.6/bin/../bin/hbase: line 412: /usr/lib/jvm/java-8-openjdk-amd64/bin//bin/java: No such file or directory
После обновления у меня появились следующие проблемы :
mike@mike-thinks:~/hbase-1.2.6/bin$ ./start-hbase.sh
/home/mike/hbase-1.2.6/bin/hbase: line 412: /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java/bin/java: Not a directory
/home/mike/hbase-1.2.6/bin/hbase: line 412: exec: /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java/bin/java: cannot execute: Not a directory
/home/mike/hbase-1.2.6/bin/hbase: line 412: /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java/bin/java: Not a directory
/home/mike/hbase-1.2.6/bin/hbase: line 412: exec: /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java/bin/java: cannot execute: Not a directory
starting master, logging to /home/mike/hbase-1.2.6/bin/../logs/hbase-mike-master-mike-thinks.out
/home/mike/hbase-1.2.6/bin/../bin/hbase: line 412: /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java/bin/java: Not a directory
/home/mike/hbase-1.2.6/bin/../bin/hbase: line 412: exec: /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java/bin/java: cannot execute: Not a directory
starting regionserver, logging to /home/mike/hbase-1.2.6/bin/../logs/hbase-mike-1-regionserver-mike-thinks.out
/home/mike/hbase-1.2.6/bin/../bin/hbase: line 412: /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java/bin/java: Not a directory
/home/mike/hbase-1.2.6/bin/../bin/hbase: line 412: exec: /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java/bin/java: cannot execute: Not a directory
Это не JAVA_HOME
JAVA_HOME = / usr /
Это
JAVA_HOME = / usr / lib / jvm / java-версия / bin /
Выполните следующие шаги:
1. Загрузите JRE
с сайта Oracle и распакуйте его
2. Откройте окно терминала и введите
sudo apt-get install mc
3. После установки тип
sudo mc
4. Из окна терминала скопируйте и распакуйте JRE
в папку
/ usr / lib / jvm / java-version /
5. Открыть файл
/etc/bash.basrc
6. Добавьте эти строки в конец
JAVA_HOME = / usr / lib / jvm / java-version / bin
export JAVA_HOME
PATH = $ PATH : $ JAVA_HOME
экспорт PATH
7. Чтобы проверить, правильно ли установлено значение JAVA_HOME
, запустите эту команду
echo $ JAVA_HOME
P.S. в строке 412 в вашем java-start.sh
измените
/ bin / java
на
java
(и тоже самое, если есть)
Вы можете определить все переменные среды специально для HBase, используя скрипт конфигурации conf/hbase-env.sh
. Есть строка, где установлен параметр JAVA_HOME
. Обычно эта строка комментируется, но вы можете раскомментировать ее и установить нужное значение.
Используя этот способ, вам не нужно менять общую конфигурацию в вашей системе.