[英]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应该在本地文件系统上, hdfs
在hdfs
。 仅输入文件应位于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.