如何从spark运行一个独立的jar。

时间:2017-07-13 08:28:01

标签: java apache-spark

我很新兴,只是学习所以如果我像新手一样说话,请耐心等待。

我有一个自包含的常规java jar,

这个jar的功能是监听队列并处理一些消息。现在要求是以分布式方式从队列中读取,因此我有一个由Yarn管理的spark master和三个slave。当我./spark-在独立主机上提交这个jar文件时一切正常。当我通过在命令行中将Yarn设置为master来切换到集群模式时,我在HDFS中找不到很多文件错误。 我在堆栈上阅读并看到我必须提到SparkContext,但是在我的情况下我没有看到它。

这里有问题:

我还需要使用

吗?
SparkConf conf = new SparkConf().setMaster("yarn-cluster").setAppName("TibcoMessageConsumer");
        SparkContext sparkContext = new SparkContext(conf);

在我的案例中,我没有看到sparkContext的任何用法。

1 个答案:

答案 0 :(得分:0)

由于你正在使用Yarn,将jar复制到hdfs,然后你可以在spark-submit中引用它。如果要使用本地文件系统,则必须在所有工作节点[不推荐]

中复制该jar
./bin/spark-submit \
--class <main-class> \
--master <master-url> \
--deploy-mode cluster \
 myapp-jar   

您可以查看此link了解详情