我想在远程服务器上的纱线群集上运行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. 如何在使用“php”命令时指定PHP版本
- 2. 指定堆叠使用哪个版本
- 3. 如何在命令行上使用不同版本的Java版
- 4. 如何在Linux中使用单行命令获取Java版本
- 5. 如何指定我想使用哪个版本的python?
- 6. 如何指定在clojure中使用哪个java函数?
- 7. 如何指定test-kitchen验证命令的specinfra版本?
- 8. 如何知道使用命令行安装了哪个MongoDB版本?
- 9. 如何指定我使用webServiceTemplate的哪种版本的soap?
- 10. 在J2ME或Java SE中使用哪个版本的Java?
- 11. 如何在Java中使用find命令
- 12. 如何在bash中使用xargs命令检查版本?
- 13. 如何在当前版本中使用drone secret命令?
- 14. 如何使用setuptools指定python版本?
- 15. 如何指定Python版本PyInstaller使用?
- 16. 从命令行,如何知道在windows/linux中安装了哪个Firefox版本?
- 17. 如何在Windows命令提示符下使用单个命令获取java版本?
- 18. 指定哪个vim从命令调用,如git
- 19. JavaCC:如何指定在特定上下文中预期使用哪个令牌?
- 20. 是否可以指定在Leiningen项目中使用哪个javac命令?
- 21. 哪个版本的Java 1.6最稳定?
- 22. 指定Visual Studio使用哪个版本的aspnet_compiler?
- 23. 指定使用macports安装哪个版本
- 24. 如何在unix中对指定目录使用“head”命令?
- 25. 如何在Perl中指定包版本?
- 26. FFMPEG命令仍然指旧版本
- 27. 如何检查哪个JRuby版本与哪个Java版本兼容?
- 28. 如何在命令行中指定文本文件
- 29. CMake:如何从命令行指定在哪里查找本地安装的库
- 30. Java NIO(java.nio。*) - 哪个版本?
您使用maven吗?如果是这样,你可以在pom.xml中指定java版本 –
也许你可以在spark-submit之前设置JAVA_HOME。这样的:“JAVA_HOME = /路径/要/ JAVA ./bin/spark-submit ......” – Hlib
设置JAVA_HOME前的火花提交命令为我工作。谢谢:) – Priyanka