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