您的位置:首页 > 其它

spark 笔记(一) stand alone 和yarn-cluster的部分区别

2015-06-17 20:24 274 查看
    公司最近的spark集群由原来的standalone迁移到spark on yarn了,在迁移相关的程序时,发现调整还是有一些的,以下分别是两个版本提交的部分shell命令,从命令可以看出其区别,这个区别主要是spark on yarn的工作方式不太一样,造成提交的方式也不太一样。

    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的大小,以免切分成太多小文件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: