我想在遠程服務器上的紗線羣集上運行Spark流應用程序。默認的java版本是1.7,但我想爲我的應用程序使用1.8,這也是在服務器中,但不是默認值。有沒有辦法指定通過spark-submit java 1.8的位置,以便我不會得到major.minor錯誤?如何指定在spark-submit命令中使用哪個Java版本?
回答
雖然可以強制驅動程序代碼在一個特定的Java版本(export JAVA_HOME=/path/to/jre/ && spark-submit ...
)運行時,工作人員將與來自紗線用戶的PATH默認的Java版本,從工人的機器執行代碼。
您可以通過編輯spark-env.sh
文件(documentation)將每個Spark實例設置爲使用特定的JAVA_HOME
。
JAVA_HOME是不夠的,在我們的情況下,司機在Java 8上運行,但後來我發現在紗星火工人使用的Java 7(Hadoop的節點都安裝了Java版本)啓動。
我不得不在spark-defaults.conf
添加spark.executorEnv.JAVA_HOME=/usr/java/<version available in workers>
。請注意,您可以在命令行中使用--conf
來提供它。
請參閱http://spark.apache.org/docs/latest/configuration.html#runtime-environment
對於那些沒有訪問/權限檢查工作器節點上的Java版本是誰,用'spark.range(0,100).mapPartitions(_。地圖(_ => java.lang.System.getProperty(「java.version」)))。show'進行完整性檢查。通過yarn/spark UI確定運行時Java版本可能太難了 –
- 1. 如何指定與sbt 0.12.4一起使用哪個java版本?
- 2. 如何在使用「php」命令時指定PHP版本
- 3. 指定堆疊使用哪個版本
- 4. 如何在命令行上使用不同版本的Java版
- 5. 如何在Linux中使用單行命令獲取Java版本
- 6. 如何指定我想使用哪個版本的python?
- 7. 鈦加速器 - 如何指定使用哪個版本的sdk?
- 8. 如何用`conda skeleton pypi`命令指定包版本?
- 9. 如何在Gradle版本中指定所需的Java版本
- 10. 如何指定在clojure中使用哪個java函數?
- 11. 如何指定test-kitchen驗證命令的specinfra版本?
- 12. 如何指定我使用webServiceTemplate的哪種版本的soap?
- 13. 如何知道使用命令行安裝了哪個MongoDB版本?
- 14. 在J2ME或Java SE中使用哪個版本的Java?
- 15. 如何在FOR命令中指定/ D?
- 16. 如何在Java中使用find命令
- 17. 如何在bash中使用xargs命令檢查版本?
- 18. 如何在Mac版本的MatLab中使用命令xlswrite?
- 19. 從命令行,如何知道在windows/linux中安裝了哪個Firefox版本?
- 20. 如何使用setuptools指定python版本?
- 21. 如何指定Python版本PyInstaller使用?
- 22. 如何知道哪個版本在Java錯誤是固定
- 23. 如何在Windows命令提示符下使用單個命令獲取java版本?
- 24. 指定哪個vim從命令調用,如git
- 25. 如何確定我正在使用哪個版本的Android Studio?
- 26. JavaCC:如何指定在特定上下文中預期使用哪個令牌?
- 27. Python - 指定要在命令行上使用的文件中的哪個函數
- 28. 是否可以指定在Leiningen項目中使用哪個javac命令?
- 29. 哪個版本的Java 1.6最穩定?
- 30. 指定使用macports安裝哪個版本
您使用maven嗎?如果是這樣,你可以在pom.xml中指定java版本 –
也許你可以在spark-submit之前設置JAVA_HOME。這樣的:「JAVA_HOME = /路徑/要/ JAVA ./bin/spark-submit ......」 – Hlib
設置JAVA_HOME前的火花提交命令爲我工作。謝謝:) – Priyanka