华为大数据多租户技术探索与实践
2020-02-27 203浏览
- 1.华为⼤大数据多租户技术探索与实践 孙桂林林/guilin.sun@gmail.com
- 2.⾃自我介绍 2年年的HWer 10年年⼤大规模分布式系统从业者 华为⼤大数据系统架构 分布式系统 ⼤大规模分布式存储 海海量量数据处理理 ⼤大数据云服务 ……
- 3.华为⼤大数据业务与产品 电信、企业、消费者……
- 4.⼤大数据业务举例例 电信 企业 消费者 SmartCare SEQ Analyst **银⾏行行 EMUI 智能⽹网络规划优化 离⽹网分析 个性化套餐包推荐 投诉处理理 ⽤用户体验管理理 精准营销 历史交易易明细查询 实时事件营销 实时征信 异常交易易预警 智能应⽤用商店 智能帮助
- 5.华为企业云 数据接⼊入服务 多维交互式分析服务 MapReduce服务http://www.hwclouds.com机器器学习服务 数据调度服务
- 6.⼤大数据、云、多租户 云上的⼤大数据集群 or ⼤大数据集群的云
- 7.⼤大数据多租户的核⼼心挑战 能否快速地申请、释放预留留资源? 能否运⾏行行时根据资源⽤用量量快速扩容、缩容? 能否⽀支持重要租户、应⽤用的强性能隔离? 如何控制租户对于共享资源的竞争? 如何对接现有⼤大数据⽣生态? 如何防范和预警本地提权漏漏洞洞攻击? 如何防范普通⽹网络攻击和DDOS攻击? 如何为关键数据添加额外保险? 如何⽀支撑多种形式的数据共享与变现? 如何利利⽤用租户的闲置资源? 如何在隔离与性能损耗间获取平衡? Storm Flink HBase 共享 静态 弹性 动态 系统 数据 安全 MPP 物理理 运⾏行行时 性能隔离 闲置 损耗 能效 MR SQL Spark 功能
- 8.两种路路线 存储密集,计算稀疏 性能追求 IaaS能⼒力力超强 体量量⼩小 业务增⻓长快,业务需求不不稳定 重计算 体验新的⼤大数据分析软件 ⼤大数据软件云端部署、托管能⼒力力 虚拟机上的真实⼤大数据集群 运⾏行行在云服务上的⼤大数据集群 弹性 安全 Adhoc访问 ⽅方向 零运维 体量量⾜足够⼤大 数据变现 重I/O ⼤大数据技术内部的租户隔离能⼒力力 形态 物理理机上的虚拟⼤大数据集群 定位 ⼤大数据集群提供的云服务 性能隔离 能效 功能
- 9.两种路路线 存储密集,计算稀疏 性能追求 IaaS能⼒力力超强 体量量⼩小 业务增⻓长快,业务需求不不稳定 重计算 体验新的⼤大数据分析软件 ⼤大数据软件云端部署、托管能⼒力力 虚拟机上的真实⼤大数据集群 运⾏行行在云服务上的⼤大数据集群 弹性 安全 重I/O 形态 物理理机上的虚拟⼤大数据集群 定位 ⼤大数据集群提供的云服务 Pool 精简内核 P2P Virtualization 集群动态伸缩 数据变现 ⼤大数据技术⾃自身的租户隔离能⼒力力 ⽅方向 VPC VM 体量量⾜足够⼤大 Adhoc访问 DataNode Proxy 存储计算分离 零运维 性能隔离 临时集群 能效 I/O直通 适配更更多的⼤大数据组件 功能
- 10.两种路路线 存储密集,计算稀疏 性能追求 IaaS能⼒力力超强 体量量⼩小 业务增⻓长快,业务需求不不稳定 重计算 体验新的⼤大数据分析软件 ⼤大数据软件云端部署、托管能⼒力力 ⽅方向 虚拟机上的真实⼤大数据集群 运⾏行行在云服务上的⼤大数据集群 资源管理理 沙箱 调度算法 安全 体量量⾜足够⼤大 重I/O ⼤大数据技术⾃自身的租户隔离能⼒力力 物理理机上的虚拟⼤大数据集群 定位 ⼤大数据集群提供的云服务 资源管理理 分区 数据变现 形态 加密 分区 弹性 Adhoc访问 零运维 份额 性能隔离 调度算法 能效 为更更多的⼤大数据组件 增加多租户能⼒力力 功能
- 11.安全 上古时代的Hadoop没 有任何安全能⼒力力 实现了了『⽤用户到服务』 以及『服务到服务』 的认证 ⽆无安全机制 信任⽤用户声称的身份, 改善了了『误越界』的 问题 鉴权 Kerberos认证 内部使⽤用 细粒度权限控制 数据表、视图、列列 ⽂文件、⾏行行、列列 数据⾏行行 企业 数据加密 公⽹网 VM VPC EMR 提权 & DoS Partition Quota Sandbox Guard “Hadoop”-a-a-S
- 12.提权攻击应对思路路及⼿手段 缩⼩小攻击⾯面 延⻓长攻击线 异常早可⻅见 ⼿手段 作⽤用 举例例 Partition 降低提权的影响。 Label Partition Sandbox 不不能隔离的通过Sandbox防护。 VM、Container、JVM Subtraction 只开放⾼高层、安全的接⼝口。 SQL-a-a-S Guard 异常⾏行行为探测与处理理。 Apache Eagle 实践中往往需要组合多种安全机制。
- 13.VM != Safe 2016年年11⽉月10号的PwnFest擂台中,来⾃自国内和韩国的两只团队分别在 VMware上实现了了虚拟机逃逸,可在宿主机上执⾏行行任意代码。 虽然⾮非常困难构造,逃逸可能是对虚拟机最⼤大的安全威胁
- 14.DoS攻击应对思路路及⼿手段 缩⼩小攻击⾯面 多实例例 延⻓长攻击线 多队列列 异常早可⻅见 ⼿手段 作⽤用 举例例 RPC Fair Share 防⽌止RPC的DDoS Hadoop FairCallQueue Language Sandbox 禁⽌止敏敏感API的调⽤用 JVM安全策略略禁⽌止访问⽹网络 Federation 租户不不共享瓶颈节点 HDFS/YARN Federation Container/VM 租户不不共享集群 EMR Subtraction 只开放⾼高层、安全的接⼝口 SQL-a-a-S Guard 异常⾏行行为探测与处理理 ⽹网络流量量清洗 DoS攻击可能是应⽤用层⽆无意识产⽣生的。
- 15.FairCallQueue Scheduler Acceptors Readers users FairCallQueue依赖于 获取请求的⽤用户信息 来做后⾯面的调度,但 获取⽤用户信息前的连 接处理理、请求头处理理、 ⽤用户信息获取没有办 法做到公平。 Queue 0 Queue 1 Queue 3 Multiplexer Call Queue Handlers weighted round-robin 不不同操作的代价可能 差别很⼤大,执⾏行行时间、 并发能⼒力力上都有很⼤大 不不同。 防范⽆无意识的DDoS攻击,也提升RPC资源分配的公平性。
- 16.Sandbox Execution Framework MapReduce MR Programs SQL UDFs 受限的SQL接⼝口,平台产⽣生的的代码更更加容 易易控制和优化。⽬目前国内在公⽹网开放的单实 例例⼤大数据服务也都是从SQL开始。 JVM的安全策略略可以做到限制⽂文件系统功 能、⽹网络等资源的访问,这样可以把⽤用户代 码框定在处理理⾃自⼰己的内存数据上,与外部世 界的交互由可信的框架代码来完成。
- 17.多实例例 Master节点 组件 HBase、Impala Federation Federation是相对轻量量的多实例例⽅方 案,但为每⼀一个租户Federation是不不 现实的。⽽而且Worker节点上还是要做 类似Fair Share的⼯工作。 全集群 VM Federation EMR 总有些组件⾃自身不不具备或者暂 时不不具备多租户能⼒力力。通常更更 多是为了了性能隔离,结合 Partition⼀一起使⽤用。 全集群多实例例的⽅方案往往会基于VM 来做,这样对集群各组件的负载隔离 都⽐比较,但是即使从DoS的⻆角度, VM也不不是⾼高枕⽆无忧的。
- 18.VM DoS VM间的共享资源也存在安全⻛风险 MEMORY COMPONENTS ATTACKER’S TECHNIQUE CONTENTION TYPE RUNTIME SLOWDOWN Shared LLC LLC cleansing storage-based 1~5.5X Buses bus locking scheduling-based 1~7.9X IMC scheduling-based memory flooding DRAM 1~1.54X storage-based 2016年年3⽉月,T. Zhang等⼈人成功地在EC2上,利利⽤用VM间的共享资源进⾏行行了了memory DoS攻击。https://arxiv.org/pdf/1603.03404.pdf
- 19.性能隔离 多实例例 静态隔离 上古时代的Hadoop没 有任何性能隔离能⼒力力 FIFO 可以控制不不同租户和 应⽤用的计算资源份额 Capacity, Fair 可以控制⽤用户进程和 平台组件的CPU与内 存占⽤用 对象存储 动态隔离 cgroups 虚拟机 分区 联邦 虚拟⽹网络 份额 优先级 与⽆无意识的DDoS相⽐比,性能隔离侧重于合理理的资源使⽤用与竞争。
- 20.分区 通过标签对YARN节 点进⾏行行分区。 Exclusive 分区间不不能共享计算资源。 YARN HDFS Partition Label Node Label Non-Exclusive 分区间可以配置共享策 略略,在隔离的同时也兼 顾资源利利⽤用率。 分区对弹性的影响? Partition Label 通过标签来对HDFS节点 进⾏行行分区,并⽀支持跨分 区的数据块放置策略略。
- 21.份额控制 保留留资源,空闲也不不可 以挪⽤用 Reserved 最⼩小保障资源,有需 要就得保证。 Min Weight 资源⽤用满时,能占⽤用 的⽐比例例。 Max 最⼤大资源⽤用量量。 FairCallQueue…… 不不同调度器器⽀支持不不同程度的 R-M-S-M语义。 DRM Queue Cluster cgroups ? RPC I/O Memory CPU Local
- 22.cfq & blkio App1 write() App2 write() Loss of cause information! Page Cache 不不同的内核版本实现略略有区 别,某些较⽼老老的版本在page cache阻塞时会由应⽤用进程触 发刷盘。 Write-back Daemon Block-Level Scheduler - cfq/deadline/noop 失去了了正确的cause信息,I/O调度器器的优先级也就 ⽆无从谈起,因此对于经过pagecache的所有I/O, cgroups blkio的weight配⽐比也完全没办法保证。 Write-back daemon submits all request!
- 23.Cross-Layer Tag App1 App2 write() write() 1 Page Cache 1 Tags pass across layers 1 1 2 Tags to identify origin 2 Write-back Daemon Write-back daemon submits all request! Block-Level Scheduler - cfq/deadline/noop I/O来源信息的跨层传递是后续⼯工作的基础。http://sigops.org/sosp/sosp15/current/2015-Monterey/printable/168-yang.pdf
- 24.Global I/O Scheduling Tenant A Task 1 DataNode Tenant B Task 2 Task 3 Task 4 DataNode I/O Controller Local FileSystem DFS上的I/O其租户来源信息对本地⽂文件系统 也是不不可⻅见的。 Global范围内也要做到公平与⾼高效。https://www.usenix.org/system/files/fastpw13-paper19_0.pdf
- 25.回顾 I/O Weight API Restriction - SQL Language Sandbox VM/LXCs Multiple Instance Partition FairCallQueue Guard 弹性 DRM Weight 安全 性能隔离 能效 功能
- 26.谢谢 Q&A