繁体   English   中英

如何在Hortonworks VM上的Spark上运行.jar?

[英]How to run .jar on Spark on Hortonworks VM?

我是Hortonworks VM的新手,我感到困惑。 我正在尝试在Spark上运行.jar文件。 通常我通过运行在Windows上进行本地测试

spark-submit --driver-memory 4g --class en.name.ClassName %CODE%/target/program.jar

但是由于我需要Hive,所以我认为我应该转到Hortonworks VM进行本地测试。 现在,我已经通过Hortonworks的Ambari的HDFS文件GUI将我的.jar和输入文件上传到HDFS(到/tmp/my_code目录)。 接下来是什么? 我也找到了命令行,但是如何从VM的命令行访问HDFS上的.jar? 我正在尝试跑步

spark-submit --driver-memory 4g --class en.name.ClassName /tmp/my_code/program.jar来自沙盒spark-submit --driver-memory 4g --class en.name.ClassName /tmp/my_code/program.jar (默认情况下运行在http://127.0.0.1:4200/root@sandbox “盒子里的贝壳”),它不起作用。 它说.jar不存在。 如何指向VM在HDFS上使用.jar? 谢谢!

JAR应该在本地文件系统上, hdfshdfs 仅输入文件应位于hdfs 因此/tmp/my_code/program.jar路径应该是本地路径,这就是为什么您看到该错误的原因: the .jar does not exists

如果运行此命令:

>spark-submit --help

你会看见:

 --jars JARS   Comma-separated list of local jars to include on the driver
               and executor classpaths.

更新:积累文档

application-jar:包含您的应用程序和所有依赖项的捆绑jar的路径。 该URL必须在群集内部全局可见,例如,所有节点上都存在hdfs://路径或file://路径。

所以,

如果jar在hdfs上:

spark-submit --driver-memory 4g --class en.name.ClassName hdfs://target/program.jar

如果jar位于本地:

spark-submit --driver-memory 4g --class en.name.ClassName /target/program.jar

要么

spark-submit --driver-memory 4g --class en.name.ClassName file://target/program.jar

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM