我很新兴,只是学习所以如果我像新手一样说话,请耐心等待。
我有一个自包含的常规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
的任何用法。
答案 0 :(得分:0)
由于你正在使用Yarn,将jar复制到hdfs,然后你可以在spark-submit中引用它。如果要使用本地文件系统,则必须在所有工作节点[不推荐]
中复制该jar./bin/spark-submit \
--class <main-class> \
--master <master-url> \
--deploy-mode cluster \
myapp-jar
您可以查看此link了解详情