spark 笔记(一) stand alone 和yarn-cluster的部分区别
2015-06-17 20:24
274 查看
公司最近的spark集群由原来的standalone迁移到spark on yarn了,在迁移相关的程序时,发现调整还是有一些的,以下分别是两个版本提交的部分shell命令,从命令可以看出其区别,这个区别主要是spark on yarn的工作方式不太一样,造成提交的方式也不太一样。
standalone方式的脚本为:
yarn-cluster方式的脚本为:
一般hadoop默认的块是64M,这个可以调整split的大小,以免切分成太多小文件。
standalone方式的脚本为:
spark-submit --class com.bg.tools.WapJoinUA\ --driver-memory 80g \ --executor-memory 60g \ --total-executor-cores 256 \ ${COMMON_PATH}/jars/${APP_JAR} \ ${HDFS_UATAG_INPUT} ${HDFS_INSTANCE_INPUT} ${TAGS_FILTER_FILE} ${HDFS_OUTPUT} 100
yarn-cluster方式的脚本为:
spark-submit --queue dc --class bg.tools.Instance \ --master yarn-cluster \ --executor-memory 30g \ --driver-memory 10g \ --num-executors 200 --executor-cores 16 \ ${COMMON_PATH}/jars/${APP_JAR} \ ${HDFS_INSTANCE_INPUT} ${HDFS_OUTPUT}碰到的问题其中一个就是文件读写的方法不一致, standalone由于driver是固定的, 读取文件类似本地读取,但是yarn-cluster的driver是yarn进行分配的,需要把文件使用--files进行上传,而且在读取文件的时候,应该只能使用文件的名称而不是包含全部路径的文件名,不然会抛出文件找不到的异常,另外比较有用的是这个选项:--conf "spark.hadoop.mapreduce.input.fileinputformat.split.minsize=1073741824"
一般hadoop默认的块是64M,这个可以调整split的大小,以免切分成太多小文件。
相关文章推荐
- SQL必知必会(一)
- linux内核SPI总线驱动分析(一)
- strip 使用命令
- 夜未眠3
- cocos2d-X 手机游戏《雷电游戏》完整源码下载
- 活用SQL中的IF ELSE;CASE语句
- mysqlimport小结
- hadoop 基本命令
- 夜未眠2
- 第12/24周 并行执行计划
- BufferedInputStream和BufferedOutputStream详解
- 沃颜
- 好吧,开始高大上的QNX学习了
- sqlserver服务器常用的性能计数器
- 项目总结
- Android--中做到自定义的广播只能有指定的app接收
- 对于 A a = new A(); 的一些理解
- 关于android_common-master中下拉刷新和上拉加载的详解
- 初学java之jdk安装,基本概念,简单代码编写
- android代码混淆发布版本时关闭log输出