- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
Alluxio文件系统在搜狗的实践
展开查看详情
1 .Alluxio 内存文件系统在搜狗的实践 Sogou 肖邦 Email: Chopinxb@gmail.com
2 .2. 发布弹性计算客户端,进一步降低临时未经测试任务对于diablo集群的业务的影响 About us 来自搜狗大数据平台部 基于Apache Hadoop生态,建设搜狗海量数据存储和计算平台 提供稳定高效的数据分析系统,为搜狗各类型大数据应用,提供一站式数据处理服务 每天数十亿的数据增量,数以万计的数据计算流程,使数据的价值得到充分利用 最前沿技术落地及推进开源技术的发展
3 .2. 发布弹性计算客户端,进一步降低临时未经测试任务对于diablo集群的业务的影响 2. 发布弹性计算客户端,进一步降低临时未经测试任务对于diablo集群的业务的影响 Content
4 .2. 发布弹性计算客户端,进一步降低临时未经测试任务对于diablo集群的业务的影响 1 Spark shuffle on Alluxio
5 .Background Spark shuffle on Alluxio How to choose execution engine ? vs
6 .Spark stability Lineage No preemption queue BlackList Mechanism Background Spark shuffle on Alluxio
7 .Spark 任务 DAG Shuffle block fetch failure NM OOM 机器宕机 磁盘故障 重算 任务失败 Background Spark shuffle on Alluxio 图片来自: http:// datastrophic.io /core-concepts-architecture-and-internals-of-apache-spark /
8 .知识图谱 任务某个 Job 的 DAG Lineage 太长,重算代价太高 Background Spark shuffle on Alluxio
9 .Storage L ocal file (single node) SSD /HDD 单节点故障 Map Map Map Storage Reduce Reduce Reduce Alluxio Design Spark shuffle on Alluxio Distributed/replicated file + MEM/SSD ? HDFS Alluxio (a memory speed virtual distributed storage system )
10 .Resource Manager Alluxio Master Node Manager Data Node E xecutor Alluxio Client E xecutor Alluxio Client AlluxioWorker Node Manager Data Node E xecutor Alluxio Client E xecutor Alluxio Client AlluxioWorker Implementation Spark shuffle on Alluxio Alluxio Master
11 .File1 File2 File3 Alluxio File1 File2 File3 Alluxio MapTask File1 File2 File3 Storage ReduceTask MapTask File1 File2 File3 Storage ReduceTask Implementation Spark shuffle on Alluxio Spark 2.0 后不是这种形式了,现在采用 3 种 sorted base writer
12 .MapTask ReduceTask Implementation Spark shuffle on Alluxio dataFile indexFile Index 1 Index 2 Index n Part 1 Part 2 Part n … Alluxio dataFile index File ReduceTask
13 .分优先级配置任务 HIGH Local + Alluxio (CACHE_THROUGH: HDFS, ASYNC_THROUGH ) Middle Local + Alluxio (MUST_CACHE) Low Local Alluxio 社区版暂不支持写多备 Implementation Spark shuffle on Alluxio
14 .Contrast Spark shuffle on Alluxio
15 .Spark shuffle on Alluxio NodeManager crash Origin Contrast Spark shuffle on Alluxio
16 .Spark shuffle on Alluxio 的收益: 保证高优先级任务的稳定运行,提升线上业务稳定性 避免重算带来的计算资源压力,节约集群计算资源 任务稳定性由 96% 提升到 99.2% Profit Spark shuffle on Alluxio
17 .2. 发布弹性计算客户端,进一步降低临时未经测试任务对于diablo集群的业务的影响 2 Hive on Alluxio
18 .2. 发布弹性计算客户端,进一步降低临时未经测试任务对于diablo集群的业务的影响 实际查询业务 Background Hive on Alluxio
19 .2. 发布弹性计算客户端,进一步降低临时未经测试任务对于diablo集群的业务的影响 HDFS Query1 HDFS Query2 Query3 Table Input Create temp table Store Temp Table Input HDD 大量临时表创建 临时表数据量大 磁盘 IO 执行流程: Background Hive on Alluxio SQL 优化?
20 .2. 发布弹性计算客户端,进一步降低临时未经测试任务对于diablo集群的业务的影响 HDFS Query1 Alluxio Query2 Query3 Table Input Create temp table Store Temp Table Input Mem SSD Optimization Hive on Alluxio
21 .2. 发布弹性计算客户端,进一步降低临时未经测试任务对于diablo集群的业务的影响 Optimization Hive on Alluxio
22 .2. 发布弹性计算客户端,进一步降低临时未经测试任务对于diablo集群的业务的影响 Hive 任务执行性能平均 提升 22% Profit Hive on Alluxio
23 .2. 发布弹性计算客户端,进一步降低临时未经测试任务对于diablo集群的业务的影响 3 Ongoing Work
24 .2. 发布弹性计算客户端,进一步降低临时未经测试任务对于diablo集群的业务的影响 Spark Shuffle on Alluxio File1 File2 File3 Alluxio File1 File2 File3 Alluxio MapTask ReduceTask MapTask ReduceTask File1 File2 File3 Alluxio File1 File2 File3 Alluxio MapTask File1 File2 File3 Storage ReduceTask MapTask File1 File2 File3 Storage ReduceTask
25 .2. 发布弹性计算客户端,进一步降低临时未经测试任务对于diablo集群的业务的影响 HDFS Query1 Alluxio Query2 Query3 Table Input Create temp table Store Temp Table Input Mem SSD Query1 Alluxio Query2 Query3 Table Input Create temp table Store Temp Table Input Mem SSD HDFS Load Cache Alluxio Hive on Alluxio 问题: 涉及到的 Input 数据量太大 机器提供的内存有限 思路: 对 input 表进行分析,区分出热表,进行 cache 分析任务的执行,及时释放空间 Input 加速
26 .THANKS