如何在HortonWorksVM上运行.jar?

rt4zxlrg  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(402)

我对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?谢谢您!

cbeh67ev

cbeh67ev1#

jar应该在本地文件系统上,而不是在 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.

更新:根据文件:
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.jarspark-submit --driver-memory 4g --class en.name.ClassName file://target/program.jar

相关问题