4月9日JindoFS系列直播【存储计算分离场景的计算适应优化】

主题:
存储计算分离场景的计算适应优化

时间:
2020.4.9(周四)19:00

参与方式:
扫描下方二维码加入钉钉群,群内直接观看

或点击直播间链接:

https://developer.aliyun.com/live/2592

讲师:王道远
花名健身,阿里云EMR技术专家,Apache Spark活跃贡献者,主要关注大数据计算优化相关工作。

直播简介:
本次分享会介绍云上大数据处理的存储计算分离特征,分析传统大数据处理中数据本地化与存储计算分离场景的区别,以及在存储计算分离场景中阿里云EMR的相关优化。


阿里巴巴开源大数据EMR技术团队成立Apache Spark中国技术社区,定期打造国内Spark线上线下交流活动。请持续关注。

邀请你加入钉钉群聊阿里云E-MapReduce交流2群,点击进入查看详情 https://qr.dingtalk.com/action/joingroup?code=v1,k1,cNBcqHn4TvG0iHpN3cSc1B86D1831SGMdvGu7PW+sm4=&_dt_no_comment=1&origin=11

邀请你加入钉钉群聊Apache Spark中国技术交流社区,点击进入查看详情 https://qr.dingtalk.com/action/joingroup?code=v1,k1,X7S/0/QcrLMkK7QZ5sw2oTvoYW49u0g5dvGu7PW+sm4=&_dt_no_comment=1&origin=11

微信公众号:Apache Spark技术交流社区

展开查看详情

1.存储计算分离场景的计算 适应优化 王道远(健身)

2.背景介绍 Part I

3. Map-Reduce 编程思想 Input Split Map Shuffle Reduce Output Map 1 Map [1] Map 1 Map Reduce Data Reduce 1 Data 1 Reduce [1] Reduce 1 Map 1 Map Reduce Data Reduce 1 Big Big Data Big 2 Big [2,1] Big 3 Big 3 Big Big Data Data 1 Compute 1 Compute Big Data Data 3 Compute [1] Compute 1 Compute 1 Compute Big Data Big 1 Data 1 Data [1,1,1] Data 3

4.传统Hadoop大数据集群架构 ResourceManager NameNode NodeManager NodeManager NodeManager …… DataNode DataNode DataNode

5. Share-nothing与data local Share Everything Share Disk Share Nothing 计算 存储

6.HDFS 存储

7.Data locality • 同一进程内存 • 进程所在节点硬盘 • 进程所在节点所在机架 • 进程所在节点所在机房 • 跨机房读取

8.传统大数据架构的缺点 • Namenode 压力 • 存储资源与计算资源不匹配时有浪费 • 不能灵活伸缩 • HDFS balancer 占用集群资源 • 存储集群运维成本 • ……

9.存储计算分离架构 Part II

10.存储计算分离架构 EMR 弹性计算集群 OSS 对象存储

11.对象存储 VS HDFS • 无需运维 • 按用量付费 • 不限容量和文件数量 • 稳定可靠

12.计算适应优化 Part III

13.性能分析 • 计算集群与存储集群之间的总带宽受限 • 跨集群 rpc 访问响应时间长 • 调度任务无 locality 信息 • 对象存储 rename 操作代价较大

14.数据一致性与JobCommitter

15.集群内缓存(JindoFS)与 locality

16.Hive 作业 • 分区表分多级目录存储 • getInputPaths • Load dynamic partitions • scratch 目录和 staging 目录 • MoveTask

17.Hive 作业 • hive.blobstore.supported.schemes • hive.blobstore.optimizations.enabled • hive.blobstore.use.blobstore.as.scratchdir • hive.exec.input.listing.max.threads • mapreduce.input.fileinputformat.list-status.num-threads • hive.mv.files.threads • hive.load.dynamic.partitions.thread

18.namespace 瓶颈 • Split 操作对于 location 信息请求量很大 • 一些操作会先 listStatus 再分别 getBlockLocation,rpc 数量太多 • SPARK-27801 使用 listLocatedStatus ,大大减少 rpc 数量

19.进一步优化 • 部分计算下推到存储节点 • 单副本缓存的任务调度优化 • 计算主动把热点数据 pin 在缓存中 • 计算相关的缓存策略(表级别/分区级别)

20.Q&A