我对hortonworks vm还不熟悉,我很困惑。我想在spark上运行一个.jar文件。通常我通过运行 spark-submit --driver-memory 4g --class en.name.ClassName %CODE%/target/program.jar
但由于我需要Hive,我想我应该搬到hortonworks虚拟机进行本地测试。现在,我已经将我的.jar和输入文件上传到hdfs(到 /tmp/my_code
目录)通过hortonworks的ambari的hdfs文件gui。接下来呢?我还找到了命令行,但是如何从vm的命令行访问hdfs上的.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?谢谢您!
1条答案
按热度按时间cbeh67ev1#
jar应该在本地文件系统上,而不是在
hdfs
. 只有输入文件应该在hdfs
. 所以呢/tmp/my_code/program.jar
路径应该是本地的,这就是您看到错误的原因:the .jar does not exists
如果运行此命令:您将看到:
更新:根据文件:
applicationjar:绑定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