缓存jar包来提升spark on Yarn job的提交速度
2015-12-31 11:33
537 查看
之前一直使用Spark standalone方式提交job,最近team换成了yarn方式,但发现在yarn上,提交job的速度比standalone慢的多;看提交的日志,发现其中有个很明显的东西,yarn会将
配置方法:
在hdfs上创建个jar包缓存目录,设置权限为755
bin/hdfs dfs -mkdir hdfs://namenode_host:9000/spark-libs/
bin/hdfs dfs -chmod 755 hdfs://namenode_host:9000/spark-libs/
将对应版本的spark-assembly包put到创建的缓存目录中
bin/hdfs dfs -put ~/spark-1.3.0-bin-hadoop2.4/lib/spark-assembly-1.6.0-hadoop2.6.0.jar
bin/hdfs dfs -chmod 755 hdfs://namenode_host:9000/spark-libs/spark-assembly-1.6.0-hadoop2.6.0.jar
在
spark.yarn.jar hdfs://namenode_host:9000/spark-libs/spark-assembly-1.6.0-hadoop2.6.0.jar
配置完成后,再次提交job发现不再需要上传spark assembly:
job submit速度加快了好几秒。
spark-assembly-1.3.0-hadoop2.4.0.jar上传到hdfs中,这个jar包有130M+,花费了好几秒的时间,其实可以将其缓存在hdfs上的,每次job提交时不再需要重新上传,只需复制jar包即可,job提交速度明显加快。
配置方法:
在hdfs上创建个jar包缓存目录,设置权限为755
bin/hdfs dfs -mkdir hdfs://namenode_host:9000/spark-libs/
bin/hdfs dfs -chmod 755 hdfs://namenode_host:9000/spark-libs/
将对应版本的spark-assembly包put到创建的缓存目录中
bin/hdfs dfs -put ~/spark-1.3.0-bin-hadoop2.4/lib/spark-assembly-1.6.0-hadoop2.6.0.jar
bin/hdfs dfs -chmod 755 hdfs://namenode_host:9000/spark-libs/spark-assembly-1.6.0-hadoop2.6.0.jar
在
spark-default.conf中设置
spark.yarn.jar指定到 hdfs中spark-assembly包的绝对路径
spark.yarn.jar hdfs://namenode_host:9000/spark-libs/spark-assembly-1.6.0-hadoop2.6.0.jar
配置完成后,再次提交job发现不再需要上传spark assembly:
2015-12-30 17:13:43,801 [main] INFO org.apache.spark.deploy.yarn.Client(59) - Source and destination file systems are the same. Not copying hdfs://bsaCluster/spark-lib/spark-assembly-1.3.0-hadoop2.4.0.jar
job submit速度加快了好几秒。
相关文章推荐
- 华为測试 超长整数相加
- 编程英语大全
- PECL 和 PEAR 的区别
- PHP - Cookie
- 如何写一个计算器?
- 浅谈Android中的序列化
- 一幅图看懂5种动态磁盘类型
- arc engineKML转Layer
- 欢迎使用CSDN-markdown编辑器
- Android资源管理框架(Asset Manager)简要介绍和学习计划
- javaBean为什么要实现 序列化 Serializable接口?
- Xcode中文件名旁边的小标记的作用
- Android屏幕适配
- URL中带加号的处理
- Eclipse RCP - 第一个RCP程序
- Session 与 jsessionid
- webench源码研究
- SQL server链接服务器的配置
- smile
- Oracle 数据库学习