Я следовал этому ответу. Я получаю эту ошибку:
класс искры: строка 86:/usr/lib/jvm/java-8-oracle/bin/java: Никакой такой файл или каталог
И к моему удивлению, я имею:
gsamaras@gsamaras:/usr/lib/jvm$ ls
java-1.7.0-openjdk-amd64 java-7-openjdk-amd64
gsamaras@gsamaras:/usr/lib/jvm$ $JAVA_HOME
bash: /usr/lib/jvm/java-8-oracle: No such file or directory
Как исправить его?
Больше информации (отсюда):
gsamaras@gsamaras:~$ which java
/usr/bin/java
gsamaras@gsamaras:~$ ls -alh /usr/bin/java
lrwxrwxrwx 1 root root 22 Feb 10 00:54 /usr/bin/java -> /etc/alternatives/java
gsamaras@gsamaras:~$ ls -alh /etc/alternatives/java
lrwxrwxrwx 1 root root 46 Feb 10 00:54 /etc/alternatives/java -> /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
В ~/.profile
Я добавил:
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export PATH=${JAVA_HOME}/bin:${PATH}
export HADOOP_CLASSPATH=${JAVA_HOME}/lib/tools.jar
на основе моего опыта Hadoop. Когда я получил это, я смог запустить Spark.
Править:
gsamaras@gsamaras:~/spark-1.6.0-bin-hadoop2.6/conf$ ls
docker.properties.template metrics.properties.template spark-env.sh.template
fairscheduler.xml.template slaves.template
Я не уверен, будет ли Spark работать с Java 7, но если не очевидное решение состоит в том, чтобы установить Java 8:
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
Ответ на "да" в корректных местах должен получить Вас Java 8 как значение по умолчанию, иначе
sudo update-java-alternatives -s java-8-oracle
добьется цели.
Обновление: Однако если Вы хотите работать с OpenJDK 7, необходимо узнать где JAVA_HOME
установлен неправильно согласно
gsamaras@gsamaras:/usr/lib/jvm$ $JAVA_HOME
bash: /usr/lib/jvm/java-8-oracle: No such file or directory
Так как Вы пытаетесь исправить это в .profile
(Вы сделали hash -r
или перевход в систему?) Вы могли бы хотеть проверить load-spark-env.sh
или другие сценарии, которые выполняются до запускающегося надлежащего Spark.
Удачи,
Просто попробуйте найти файл spark-env.sh в вашей папке и проверить JAVA_HOME, указанный в нем. Местоположение, указанное в etc / environment, должно быть одинаковым в обоих файлах