我对 Spark 很陌生,刚刚学习,所以如果我像新手一样说话,请耐心等待。
我有一个独立的常规 java jar,
这个jar的功能是监听一个队列并处理一些消息。现在的要求是以分布式方式从队列中读取,因此我有一个 Spark 主站和三个由 Yarn 管理的从站。当我在独立主机上 ./spark-submit 这个 jar 文件时,一切正常。当我通过在命令行中将 Yarn 设置为 master 来切换到集群模式时,我收到很多 HDFS 上未找到文件的错误。我在堆栈上阅读并发现我必须提到 SparkContext,但我认为它在我的情况下没有用处。
这里有问题:
我还需要使用
SparkConf conf = new SparkConf().setMaster("yarn-cluster").setAppName("TibcoMessageConsumer");
SparkContext sparkContext = new SparkContext(conf);
在我的例子中,我没有看到 sparkContext
的任何用法。
由于您使用的是 Yarn,因此请将 jar 复制到 hdfs,然后您可以在 Spark-submit 中引用它。如果你想使用本地文件系统,你必须在所有工作节点中复制该jar [不推荐]
./bin/spark-submit \
--class <main-class> \
--master <master-url> \
--deploy-mode cluster \
myapp-jar
你可以看看这个link了解更多详情
我是一名优秀的程序员,十分优秀!