如何为Apache Spark集群手动部署第三方实用程序jar?

时间:2016-01-27 08:18:25

标签: apache-spark

我有一个Apache Spark集群(多节点),我想手动将一些实用程序jar部署到每个Spark节点。我应该把这些罐放在哪里? 例如:spark-streaming-twitter_2.10-1.6.0.jar

我知道我们可以使用maven来构建包含这些jar的胖罐,但是我想手动部署这些实用程序。通过这种方式,程序员不必部署这些实用工具罐。

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

1,将您的第三方罐子复制到预留的HDFS目录;
例如hdfs://xxx-ns/user/xxx/3rd-jars/

2,在spark-submit中,使用hdfs路径指定这些jar;
hdfs: - 执行程序将从hdfs目录下载文件和JAR

--jars hdfs://xxx-ns/user/xxx/3rd-jars/xxx.jar  

3,spark-submit不会重新上传这些罐子

Client: Source and destination file systems are the same. Not copying hdfs://xxx-ns/user/xxx/3rd-jars/xxx.jar

答案 1 :(得分:0)

spark-submit和spark-shell有一个--jars选项。这将把罐子分发给所有执行者。 _jars的spark-submit --help如下

  --jars JARS                 Comma-separated list of local jars to include on the driver
                              and executor classpaths.

这取自programming guide ..

Or, to also add code.jar to its classpath, use:
$ ./bin/spark-shell --master local[4] --jars code.jar