我有一个Apache Spark集群(多节点),我想手动将一些实用程序jar部署到每个Spark节点。我应该把这些罐放在哪里? 例如:spark-streaming-twitter_2.10-1.6.0.jar
我知道我们可以使用maven来构建包含这些jar的胖罐,但是我想手动部署这些实用程序。通过这种方式,程序员不必部署这些实用工具罐。
有什么建议吗?
答案 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