并行度

对于*ByKey等需要shuffle而生成的RDD,其Partition数量依如下顺序确定:1. 方法的第二个参数 > 2. spark.default.parallelism参数 > 3. 所有依赖的RDD中,Partition最多的RDD的Partition的数量。

对于其他的RDD则其依赖于父RDD的分区个数。对于读取Hadoop文件的RDD,其默认的分区个数是HDFS块个数。同时textFile函数也接受参数,指定分区个数,但不能小于HDFS块个数——不使用HDFS块个数。

优化内存

当内存不足时,Spark应用程序运行时,会出现超时而导致任务失败。原因是内存不足,引起GC。而GC又引起通讯超时。其中的一种解决办法如下:

1、减小用于cache的内存比例

将spark.storage.memoryFraction参数改为(默认为0.6)。

2、增加并行度

加大spark.default.parallelism参数。

以总数据大小为3.6G、只有两个NodeManager节点(三个中扣掉一个要跑Driver,每节点1vCPU,480M可用内存)为例。3.6G=(3600M/并行度100)*2 CPU核=72M内存。则每节点内存为:72M/2=36M内存。

480M > 36M内存,所以足够(这还没有算上临时对象等其他内存)。

常见配置

spark-defaults.conf:
spark.default.parallelism 100
spark.storage.memoryFraction 0.2
spark.executor.memory 480m
spark.yarn.am.memory 400m
#for yarn-clent mode
spark.yarn.am.cores 1
#for yarn-cluter mode
#spark.driver.cores 1
spark-env.sh:
JAVA_OPTS=" -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps"

最新文章

  1. JS原型和继承
  2. Android Programming: Pushing the Limits -- Chapter 7:Android IPC -- AIDL
  3. Leetcode 52 N-Queens II 回溯搜索
  4. ~/.ctag的作用与配置
  5. linq中的contains条件
  6. MySQL innotop实时监测工具
  7. 【随手记-有空整理】Linux随手记
  8. bzoj 2741
  9. C# — Socket通信实现
  10. 五、Sql Server 基础培训《进度5-数据类型(知识点+实际操作)》
  11. REP开发技巧
  12. idea 添加项目到svn
  13. Shared Libraries with Eclipse on 86_64 (64 bits) systems[z]
  14. Proxy account failing to run SSIS Error (Proxy (11) is not allowed for subsystem "SSIS" and user "AB\testuser ".
  15. 【刷题】BZOJ 4566 [Haoi2016]找相同字符
  16. hive1.1.0建立外部表关联HDFS文件
  17. [eclipse]Syntax error on tokens, delete these tokens问题解决
  18. iOS- iPad里有趣的UIPopoverController
  19. Sqli-labs less 6
  20. (转)memcache缓存

热门文章

  1. spring boot学习总结(一)-- 基础入门 Hello,spring boot!
  2. centos7 做rails 执行rails server 报错
  3. doc文件中的cer附件保存到本地
  4. 群晖NAS百度云Docker客户端下载目录没有权限的问题解决
  5. E3-1260L (8M Cache, 2.40 GHz) E3-1265L v2 (8M Cache, 2.50 GHz)
  6. Odoo9发行说明
  7. iOS本地化应用程序
  8. uistatusBar 详解
  9. C#编程(小结)---------- 小总结
  10. <fmt:formatNumber>标签