我跟著這個回答。我收到此錯誤:
Spark-class:第 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
答案1
我不確定 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 之前執行的其他腳本。
乾杯,
答案2
只需嘗試在資料夾中找到 Spark-env.sh 檔案並檢查其中給出的 JAVA_HOME 即可。 etc/environment 中給出的位置在兩個文件中必須相同