1、FusionInsight 培训材料 产品介绍 1 FusionInsight HD企业版概述 1 FusionInsight HD特性介绍 2 FusionInsight 成功案例 3 2 Apache Hadoop繁荣、蓬勃生长的开源生态系统 Hadoop核心基本组件的开源代码量,接近 200万行 开源组件代码量( KLoc) ZooKeeper 64 BookKeeper 47 HDFS 438 YARN MapReduce 380 HBase 260 Hive 273 Oozie 88 Impala 102 汇总 1652 HBase组件在快速的发展 中,平均每个月一个发布版 各组件团
2、队之间、组件内团 队成员是松耦合、地理分布 式运作,相关特性无有效整合 3 FusionInsight 开源到企业级的蜕变 安全 版本配合 配置 Hadoop HBase 日志 性能调优 基线 选择 补丁选择 采纳社区精华,去除开源 Bug: 谨慎选择稳定基线版本; 认真评估高版本补丁影响范围评估和回合策略 ; 采用数万个测试用例,确保企业版本稳定性 年份 提交 解决 2011 201 211 2012 399 302 华为团队社区问题 /补丁贡献 2014年根据 Hortorworks排名全球第五,亚洲第一 4 会使用 Hadoop 会定位周边问题 会定位内核级问题(拔尖的个人) 定位内核级
3、问题的团队(依赖团队而不是精英个人) 能够独立完成支撑关键业务特性的内核级开发 能够带领社区,引领社区完成面向未来的内核级特性开发 能够创建新的社区顶级项目,并且得到生态系统认可 企业版的关键在于工程团队的能力 Apache开源社区生态系统 组件多,代码量大 组件更新块 特性无有效整合 强大的 Hadoop内核团队支持的开发与产品交付能力,电信级运营支撑能力 某大银行 CIO:“我们把大数据应用视作 是生命线,肯定是采用企业版,因为搞开 源软件不是我们的主业。在选合作伙伴的 时候,我们一定考虑门当户对,因为强有 力的合作伙伴才能保证 35年的供应、合 作安全” 5 FusionInsight解
4、决方案简介 Manager/Kerberos/Ldap HD F S H B a s e H I v e S p a r k R e d I s Y a r n S o l r MP P M i n e r F a r m e r Storm Z K MR FusionInsight HD FusionInsight Farmer FusionInsight Miner FusionInsight Stream FusionInsight MPPDB 组件 子产 品 解决方案 Loader K a f K a 推荐系统 FusionInsight HD: FusionInsight的 Hado
5、op是指广义的hadoop生态圈 ,提供商用 Hadoop基础平台 FusionInsight Stream: 提供实时流处理平台 FusionInsight Farmer: 提供数据服务框架,大数据实时应用使能器,支撑企业快速开发基于大数据平台的应用。 FusionInsight Miner: 提供数据挖掘服务集,基于分布式内存计算的数据分析平台 FusionInsight MPPDB: 提供相对独立部署的通用 MPP数据库,用于性能较高的交互分析场景 FusionInsight Recommender: 支持挖掘模型在在线系统的打分预测,根据客户特征快速部署企业推荐系统 O o zi e
6、H U E Mahout Higraph ELK Flume Monitor Adapter Install Adapter Upgrade Adapter Alarm Adapter Config Adapter Auth Adapter Patch Adapter 统一管理 Recommender Recommender 应用场景 广告推荐 理财推荐 历 史数据管理 大数据融合 6 HIVE/Impala HDFS/HBase M/R Spark Porter Miner DataFarm Hadoop Storm Solr 系统管理 Farmer 服务治理 Manager Hadoop
7、API Plugin API OpenAPI/SDK 应用服务层 REST/SNMP/Syslog Data Information Knowledge wisdom Yarn/ Zookeeper FusionInsight架构概述 安全管理 MPP DB FusionInsight的 Hadoop层提供大数据处理环境,基于社区开源软件增强,按照场景选择业界最佳实践 FusionInsight的 DataFarm层提供支撑端到端数据洞察,构建数据到信息到知识到智慧的数据供应链, 其中包括相对独立的数据集成服务 Porter,数据挖掘服务 Miner和数据服务框架 Farmer FusionI
8、nsight Manager是一个分布式系统管理框架,管理员可以从单一接入点操控分布式集群,包括系统管理( OM/NTP/灾备)、数据安全管理和数据治理 7 为行业业务负载优化的统一大数据处理平台 FusionInsight用 100开源的核心支持混合负载,从批量、交互查询、数据挖掘,到实时流和查询等各种场景 开放式存储格式( Rcfile/ORCfile/Parquet),以避免锁定私有文件格式 所有的组件都通过 Manager提供的插件框架来按需安装 开源 轻度增强 开源 深度增强 开源 孵化特性 自研 DSL IDE 分布式计算框架 HDFS/HBase Storm MapReduce/
9、Tez Pig Hive YARN/Zookeeper Spark Flume Sqoop Integration Batch Processing Interactive Query Search Machine Learning Event Stream Process Impala Solr MLLIB 分布式存储 Streaming Calculation 基础设施 Standard Server IMC Server Storage Server Pluggable Accelerator Network Online Query Spark Streaming CQL Phoeni
10、x Elk HiGraph CTBase MPP DB 8 电信级可靠性系统可靠性 系统可靠性: 业务无单点: OMS, HDFS, HBASE,YARN, HIVE, OOZIE, HUE,ZOOKEEPER, BOOKEEPER采用主备,负荷分担方式实现服务无单点故障 管理节点 HA: OMS节点及所有业务组件中心管理节点实现 HA 跨 DC容灾 /备份: HBase集群通过 HLOG准实时复制, HDFS/Hive集群通过 BackupAdmin异步复制实现跨数据中心灾备 第三方备份系统集成 :数据可以灵活的备份在外部系统如 NAS、磁带库,只是和 NBU等备份软件集成 1 1 1 1
11、1 1 2 2 3 3 1 3 4 4 9 电信级可靠性 -数据可靠性 数据可靠性: OS层可靠性加固 : RAID/OS写缓存保护实现掉电数据保护 Raid策略 : OS, OMS, NameNode, ZK 及HDFS数据节点采用不同硬盘分区及 Raid策略,兼顾性能情况下保证数据可靠性 快速故障检测 : 结合华为存储产品经验,尽快发现故障硬盘,降低 MTTR,提高数据可靠性 硬盘热插拔 :支持在线集群硬盘更换不影响业务,降低 MTTR. 第三方备份系统集成 :数据可以灵活的备份在外部系统如 NAS、磁带库,只是和 NBU等备份软件集成 跨数据中心数据备份: HBase集群通过 HLOG准
12、实时复制, HDFS/Hive集群通过 BackupAdmin异步复制实现跨数据中心灾备 3 3 3 4 6 5 7 8 6 6 5 8 4 7 10 故障 无故障检测机制, MTTR无保障 掉电 应用缓存、 OS缓存、 RAID卡缓存、硬盘缓存中的脏数据可能丢失。 集群重启导致 业务数据丢失 ,系统不能启动 坏盘 硬盘故障是常态: 1PB数据 1200块硬盘 ,每 10天约有 1块硬盘损坏(年故障率按 3% ) 节点退服 -换硬盘 -启动,单次换盘操作 20分钟,同时引发大量无效数据副本重建。 掉电保护: 对数据写入全路径进行优化,确保 系统异常掉电后,业务仍能可靠地启动 ; 有效保护业务组
13、件的基本运行环境、程序文件、配置文件、元数据、事务日志、安全账户信息。 故障检测: 系统实时监控硬件、 OS和业务进程的健康状态,缩短 MTTR。 系统数据持久度达 99.999%: 1PB数据( 3副本, 1200块 4TB硬盘,硬盘年故障率 3%) 双容灾集群的数据持久度更高( 7个 9)。 在线换盘: 无需人工操作,热替换故障硬盘, 单次换盘操作 2分钟 ; 直接使用本地硬盘的业务组件(如 HDFS ),均支持硬盘热插拔; 不直接使用本地硬盘的业务组件(如 HBase)通过 HDFS支持硬盘热插拔。 可靠运维关键技术 11 MR HBase HDFS Hive Zk Oozie KDC
14、业务开发用户 运维用户 超级管理员 3 5 4 4 LDAP 防火墙 OMS CAS 企业外网 企业内网 1 2 2 4 网络安全 通过防火墙将企业内外网络隔离 维护平面和业务平面通过子网隔离 1 Kerberos认证 Hadoop服务用户鉴权管理 用户鉴权信息存储 HA 3 用户 /用户组管理 访问 FusionInsight Hadoop Manager用户权限管理和审计 Hadoop组件 WEBUI服务支持单点登录认证 2 数据加密 Hive, MR和 HBase在固化到 HDFS中的数据均加密存储 细粒度的安全管理,可按照表 /按列加密 5 数据分角色存储 Hive和 HBase中数据
15、分用户,角色受控存储,用户间数据隔离 细粒度的权限管理,可按照表 /按列控制访问权限 4 工作流调度 6 为指定用户或组授予流程的执行、管理权限 为某个流程设置可使用的 MR队列资源 5 6 可运营的安全体系 12 易安装: 向导式操作, Step by step引导完成安装; 自动环境准备,内置脚本完成操作系统配置 分布式并行安装, 10分钟完成集群安装。 Step2:配置集群拓扑 Step3:配置集群参数 自动完成安装配置 易运维:向导式安装配置 易配置: 模板化配置:配置参数整合为模板,配置简单明了 关联配置自动同步,避免配置修改引发的多处人工修改 13 Dash Board:直观监控全
16、局信息 监控对象、显示指标可灵活定制 可作为集群维护操作的统一入口 状态管理:全面掌控系统状态 全面管理监控节点状态和服务状态 面向对象的操作,简单直观 集中统一管理集群,方便快捷 审计日志:详尽记录操作信息 支持日志文件导出 支持分类过滤、搜索 集群节点状态 集群服务状态 HBase RS状态 服务状态管理 节点状态管理 易运维:全系统可定制的实时运行监控 14 平滑在线扩展 快速升级 向导式界面操作 在线扩展,不影响业务 支持在线调整集群拓扑 各组件灵活扩展 向导式界面操作 升级过程异常则自动安全回退; 支持观察期手工触发安全回退 稳定运行后确认提交升级 6分钟完成集群升级 集群 完成 观
17、察期 易运维:图形化快速升级和平滑扩容向导 15 Storm 易开发 Def Input: public void open(Map conf, TopologyContext context, SpoutOutputCollector collector) public void nextTuple() public void declareOutputFields(OutputFieldsDeclarer declarer) Def logic: public void execute(Tuple tuple, BasicOutputCollector collector) public
18、void declareOutputFields(OutputFieldsDeclarer ofd) Def Output: public void execute(Tuple tuple, BasicOutputCollector collector) public void declareOutputFields(OutputFieldsDeclarer ofd) Def Topology: public static void main(String args) throws Exception Def Input: Create Input Stream kafkareader Def
19、 logic: Insert into filterstr select * from kafkareader where name=“HUAWEI”; Def Output: Create Output Stream kafkawriter Def Topology: Submit application test; Storm原生 API HBase CQL: CQL SDK Storm API FusionInsight 基于 Storm提供 CQL语言,降低流处理业务的开发门槛 Recoverable Connection Manager Schema Data Enhance Hba
20、se SDK Hbase Design Tools FusionInsight 提供 HBase的表设计工具,提供连接池管理以及增强的 SDK,来简化复杂数据表的业务开发 try table = new HTable(conf, TABLE); / 1. Generate RowKey. / 2. Create Put instance. Put put = new Put(rowKey); / 3. Convert columns into qualifiers(Need to consider merging cold columns). / 3.1. Add hot columns. .
21、 / 3.2. Merge cold columns. . put.add(COLUMN_FAMILY, Bytes.toBytes(“QA“), hotCol); / 3.3. Add cold columns. put.add(COLUMN_FAMILY, Bytes.toBytes(“QB“), coldCols); / 4. Put into HBase. table.put(put); catch (IOException e) / Handle IOE. Need to re-create connections under some scenarios. try table =
22、new ClusterTable(conf, CLUSTER_TABLE); / 1. Create CTRow instance. CTRow row = new CTRow(); / 2. Add columns. / 3. Put into HBase. table.put(TABLE, row); catch (IOException e) / Does not care connection re-creation. HBase原生 API 增强 API HBase API 数据集成工具 Porter,提供数据采集、转换、加载,并提供 FTP client,方便任何客户端以 FTP方
23、式与 Hadoop集群交换数据 Porter 16 Hadoop集群 OMS(主 /备) 上级网管 syslog 提供北向接口,实现与企业现有网管系统集成。 当前支持 syslog与snmp接口。接口消息可通过配置适配现有系统。 整个 Hadoop集群采用统一的集中管理,未来北向接口可根据需求灵活扩展。 易接入:丰富北向接口接入现有网管系统 17 全流程的产品资料 18 FusionInsight 企业版简介 1 FusionInsight 特性介绍 2 FusionInsight 成功案例 3 19 HDFS增强介绍( FTP接入) D a t a N o d eH D F SC l i e
24、 n tN a m e N o d e( A c t i v e )F S N a m e s p a c eM e t a O p sD a t a N o d e D a t a N o d e D a t a N o d e D a t a N o d eH e a r t b e a t s , b a l a n c i n g , r e p l i c a t i o n sN o d e s w r i t e t o / r e a d f r o m l o c a l d i s k sK e b e r o s 23 UserTable RowKey ColumnFam
25、ily colA colB colC a00001 * a00002 * a00003 * a00004 * a00005 * a00006 * HBase增强介绍(二级索引 ) UserTable RowKey ColumnFamily colA colB colC A00001 * A00002 * A00003 * A00004 * A00005 * A00006 * UserTable_idx RowKey CF a00001coluA*a00001 a00001coluA*a00002 a00001coluA*a00003 a00001coluAxxxxxa00004 a00001c
26、oluA*a00005 a00001coluA*a00006 目标行 数据 扫描区域 无索引: “ Scan + Filter”,扫描大量数据 二级索引: 两次 IO定位到数据 索引 Region与数据 Region伴生,统一机制处理 HBase原生 API接口几乎无改动,对用户友好 基于 Coprocessor机制插件化实现,易升级 面向写优化,支持实时写入 二级索引方案 注:已开源于 Phoenix项目 24 User Data HBase增强 ( 对应用透明的冷字段合并 ) HBase KeyValues ID Name Phone ColA ColB ColC ColD A B C D
27、 问题: 在 HBase列数增多导致数据膨胀率较高,查询性能低下; 应用层自己合并冷数据列,使得开发复杂度提升,还需要维护相关元数据信息 特性功能: 提供对应用透明的冷字段合并特性 支持实时写入接口及批量导入接口 ColE ColF ColG ColH 25 Hadoop cluster NAS 异地灾备 表级别集群在线备份,用于在线业务故障灾备 数据恢复 批量导出 本地备份 支持库级别本地备份、批量导出和数据恢复,支持全量、增量两种模式。用于集群故障、人为误操作导致的数据丢失 Hbase增强(备份与集群容灾) 本地备份 LdapServer HM HM HDFS RS RS RS HBase
28、 LdapServer HM HM HDFS RS RS RS HBase RS HLog Sync Authentication Data Sync 26 HBase增强介绍( Phoenix) Phoenix是构建在 HBase之上的一个 SQL中间层,可实现毫秒级 SQL在线查询。 Phoenix查询引擎会将 SQL查询转换为一个或多个 HBase Scan,并编排执行以生成标准的 JDBC结果集, 适用于 10M-100M行规模的简单查询 。 Phoenix特性: 嵌入式的 JDBC驱动,包括元数据 API 可以通过多个行键或是键 /值单元对列进行建模 DDL、 DML支持 遵循 AN
29、SI SQL标准 支持简单的 Hash Join HBase Phoenix Scan millisecond level 27 Spark:内存迭代计算 shuffle enhancement 引入 sort-based shuffle实现,降低文件句柄和内存使用,并提升性能 Netty-based传输,减少 context-switching和 memory copy开销 SparkSQL数据源增强 & External Source API Format: 提供流行的列存格式支持 - Parquet/ORCfile Source: 允许用户使用通用 API适配外部数据源接口,便于对接 H
30、Base等 华为积极参与 spark社区贡献,主导 Spark SQL升级支持 hive 0.13,其中合入社区 patch 150+,公司贡献在社区 排名第三 。 社区贡献: 高性能内存迭代计算框架 基于 DAG运行引擎和内存数据计算。比传统 MR提供更快的计算速度以及不弱的可靠性 支持多语言快速开发应用 提供以下语言支持 Java、 Scala、 Python 内存计算一站式解决方案 支持离线批处理任务,典型的如 ETL 支持 SQL查询( Spark SQL) 支持流处理 (Spark Streaming) 高性能的机器学习算法库 (MLLib) 增强特性: Spark框架: Spark
31、技术栈 : 28 安全: 用户权限集中管理 应用场景 Hadoop各组件原生的用户权限管理采用的是命令行模式,并且各组件各配置管理各自的用户权限,在配置管理时比较繁杂。 解决方案 提供图形化的界面进行用户权限配置 提供角色的增删改查功能。 通过 RBAC(基于角色的访问控制),以角色 组件资源 权限的模式完成权限的定义和管理。 通过将角色授予用户 /用户组,实现用户与权限的绑定。 用户价值 权限集中管理。 降低了集群的管理难度。 提供了细粒度的资源管理。 29 安全:单点登录 OM UI CAS OM Server 组件 WebUI 组件 WebApp LDAP 组件 WebUI 组件 Web
32、App 登录 1 请求 2 认证 4 验证 7 跳转 1 请求 验证 2 3 3 重定向 CAS 请求 2 验证 3 应用场景 Hadoop集群原生组件的 WEB UI可以直接登陆,并不需要用户鉴权,没有任何安全保障能力,需要增加用户鉴权功能。同时,多个组件 UI登陆时,如果不支持单点登陆,那么每登陆一次组件 UI都需要输入一次鉴权信息,非常麻烦。 解决方案 首次登陆 UI,会重定向到 CAS进行集中认证。认证通过后,返回票据; UI使用票据重新请求server端, server端向 CAS校验票据。从而完成登陆认证校验过程。 二次登陆组件 UI,组件 Webapp直接向 CAS校验身份。如果该身份已经登陆,则无需再次身份校验。 用户价值 提供安全、可靠的统一用户身份校验机制。 提供多组件 UI间单点登陆功能,操作方便易用。