• [行业动态] 华为云FusionInsight首席架构师:我们怎么帮「宇宙行」建一个好的「云数据平台」?
          银行在构建大数据架构的同时,面临着诸多问题和挑战。      华为云FusionInsight首席架构师徐礼锋认为,很多大企业的硬件都是集中采购,并没有考虑到大数据不同场景对资源诉求的不一,而且计算与存储的配比并未达到很好的均衡,存在较大的浪费。不同批次的硬件之间也存在差异,虽然可以用技术手段解决硬件异构、OS异构的问题,但是持续维护的代价相当高。此外,大数据手工部署效率低、系统交付周期长、资源池之间的资源无法共享等问题,都会给银行造成浪费。面对这些挑战,许多银行都选择将大数据部署到云平台上。徐礼锋表示:“基于云原生的存算分离架构来部署大数据业务有很多优势。”“首先,硬件资源池化后,计算和存储可以灵活的扩展,利用率相对较高;其次,基于云平台的大数据环境搭建,全部自动化,从硬件资源准备到软件安装,仅用一小时完成;再者,云上只要预留了资源,空间资源可以很快加入到大数据的资源池里,新业务上线也会变得非常敏捷。”以工商银行为例,2020年初,在华为云的帮助下,工商银行开始构建云数据平台,将整个数据湖迁移到云上以实现大数据的云化和服务化,并在金融同业中首家推出了大数据风险信息服务产品融安e信,成功服务了260家金融机构和4.6万家企业。近日,雷锋网《银行业AI生态云峰会》邀请到徐礼锋作为「大数据平台」赛道的科技专家,为大家带来其多年在金融大行服务的大数据平台设计理念和交付实践。      以下为徐礼锋的演讲内容,雷锋网AI金融评论作了不改变原意的编辑:大数据技术的「演进趋势」      感谢雷锋网举办这个活动,让我有机会分享华为FusionInsight在工行的实践。大数据从2010年开始到现在各种新技术层出不穷,最近围绕云基础设施又有非常多的创新发展。      很多企业早期的数据分析系统主要构建在数据仓库之上,有的甚至连数据仓库都没有,使用TP类关系型数据库直接对接BI系统实现。这类系统一般以物理机形态的一体机部署,分布式能力比较弱,随着数据规模巨大增长,尤其是移动互联网发展,传统数据库难以支撑这种大体量的数据分析需求。在这个背景下,Hadoop技术应运而生并飞速发展,有效地解决了大数据量的分析和处理需求。Hadoop最开始的应用多用于日志类非关系型的数据处理,主要基于MapReduce编程模型,随着SQL on Hadoop的发展,关系型数据的处理能力也越来越强。早期的Hadoop主要基于物理机部署,一直到现在仍然是最成熟的部署模式。虽然Hadoop计算与存储之间是解耦的,但是绝大部分实践都还是会把计算与存储进行一体化部署,Hadoop调度系统会把计算调到数据所在位置上进行就近计算,就近计算大大提高了系统的处理能力,后期Spark、flink等都继承了这种架构优势。自从亚马逊推出云IT基础设施以来,越来越多的企业都将自己的IT业务迁移到云上,因此,在云上开展大数据业务顺理成章。基本上所有的云厂家也都提供云上大数据解决方案。那么,在云上部署大数据与原来基于物理机的on premise部署方式又有哪些不同呢?首先,尽量利用云的计算资源,包括云虚机、容器以满足资源的快速发放,包括裸金属服务BMS以提供近似物理机的高性能处理计算资源。其次,各云厂商都推出存算分离的大数据架构,亚马逊是最早实现对象存储替代HDFS,因为对象存储相对HDFS三副本成本相对较低。计算与存储分离之后带来了很多好处,但是也面临着诸多挑战。这个方向一直在不断地完善,目前,云上大数据存算分离已经发展的比较成熟。      Lakehouse是最近非常热的一个大数据概念。2020年1月份databricks发表的一篇博客中首次提到Lakehouse这个概念。之后,在今年的1月份再次发表一篇论文,系统阐述如何构建Lakehouse。很多数据分析系统都构建在数据仓库、数据湖的基础上,有些将两者结合形成如图的两层架构,大型企业后面这种形式更多。这种数据湖、数据仓库的两层架构到底存在哪些问题呢?可以看到,数据湖和数仓的很多数据是雷同的,这样就会导致以下三个问题:第一,数据要存储两份,相应的存储成本翻倍。第二,数据湖和数仓的数据存两份,就需要维护数据的一致性,这个过程主要通过ETL来保证,维护代价比较高,而且往往很难保持一致,可靠性不是很高。第三,数据的时效性。数据湖将大批量的数据集成起来并不容易。由于数据湖大多基于Hive来管理,而其底层HDFS存储并不支持修改,所以数据仅支持追加的模式来集成。而业务生产系统的数据变化不是只有追加的数据,还有很多更新的操作,如果要对数据湖的数据进行更新,就需要按分区先合并后重写。这样就增加了数据合并处理的难度,更多的时候只能通过一天合并一次的T+1的模式,T+1的模式也就意味着大部分数据对后端应用的可见性差了一天,当前看到的数据实际上是昨天的,意味着数仓里面的数据始终并不新鲜。LakeHouse就是期望解决数据湖与数仓的融合分析的问题。LakeHouse提出通过提供ACID的开放格式存储引擎来解决数据的时效性问题,开放格式另一个好处在于数据湖里的数据可以面向多种分析引擎,如Hive、Spark、Flink等都可以对数据进行访问分析,而且AI引擎也可以访问Lakehouse数据做高级分析。对于诸如Hudi、Iceberg、DeltaLake增量数据管理框架,由于其提供了ACID的能力,数据可以进行更新操作以及并发读写,因此对存储数据存储要求也更高,比如需要支持时间旅行、零拷贝等能力,才能保证数据随时可以回溯。Lakehouse除了支撑传统的BI以及报表类的应用,还要支持高级的AI类的分析,数据分析师、数据科学家可以直接在Lakehouse进行数据科学计算和机器学习。另外,Lakehouse的最佳实践是基于存算分离架构来构建。存算分离最大的问题在于网络,各云厂家以及大数据厂家,都探索了很多的手段来解决云存储本身访问的性能问题,如提供本地缓存功能来提高数据处理的效率。       Lakehouse架构可以实现离线与实时的融合统一,数据通过ACID入湖。如图所示是经典的大数据的Lampda架构,蓝色的处理流是批处理,红色的则是流处理,在应用层形成实时合并视图。这个架构存在的问题就是批处理和流处理是割裂的,数据管理之间的协同比较麻烦,而且不同的开发工具对开发要求的能力不同,对系统维护工程师和数据开发人员都是较大的挑战。针对这种的情况,Lakehouse架构可以将批处理和流处理合并成一个Lakehouse view,通过CDC把业务生产系统数据实时抽取到数据湖,实时加工后送到后端OLAP的系统中对外开放,这个过程可以做到端到端的分钟级时延。Lakehouse本身的概念比较新,大家都还在做着各种各样的实践以进行完善。FusionInsight在工商银行实践的三大阶段      工行早期主要以Oracle 、Teradata构建其数据系统。数仓为Teradata,数据集市是Oracle Exadata。      2013年开始,我们在工行上线了银行业第一个大数据平台,当时的大数据平台以单一的应用为主,例如一些日志分析、TD的新业务卸载和明细查询。2015年之后,对数据系统进行整合合并,包括通过GaussDB替代Teradata数仓,形成了融合数仓,在工行被称之为一湖两库,以FusionInsight构建数据湖底座以支持全量的数据加工,同时实时分析、交互式分析等业务也在其中得以开展。2020年初,开始构建云数据平台,将整个数据湖迁移到云上以实现大数据的云化和服务化,同时构建存算分离的架构。另外还引入AI技术。工行的技术演进方向是从单一走向多元、从集中式走向分布式、从孤立系统走向融合、从传统IT走向云原生的过程。      第一代大数据平台更多的是根据应用需求按需建设,这个时期对Hadoop究竟能解决什么问题并没有很深的认知。首先想到的是解决业务创新,以及在数仓里做不出来的业务,比如把大批量的数据合并作业卸载到Hadoop系统里。这个时期缺少系统规划,导致单集群规模小,集群数量不断增多,维护成本较高,资源利用率低。另外,很多数据是需要在多个业务间共享的,需要在集群间进行拷贝迁移,大量冗余的数据增加了资源的消耗。同时,数据需要根据不同的场景存储在不同的技术组件中,利用不同的技术组件进行处理,也导致ETL链路较长、开发效率低,维护的代价高。因此,需要对整个大数据平台的架构进行优化。      第二阶段将多个大数据集群进行了合并,形成数据湖,其特点在于数据处理层统一规划,集中入湖、集中管理。使得整体的管理、维护、开发效率得到极大提升。将原始数据入湖之后,还会对数据进行一些加工处理以形成汇总数据和主题数据,并在数据湖里进行集中治理,数据加工处理后送到数仓或者数据集市,以及后端的其他系统里。基于这种架构,数据湖的应用效率得以极大提升。经过几年发展,当前集群规模已经达到1000多节点,数据量几十PB,日均处理作业数大概是10万,赋能于180多个总行应用和境内外41家分行及子公司。但是,将所有数据存进一个集中的数据湖也带来了很多管理方面的难题。      数据湖支撑的业务和用户对SLA高低的要求不尽相同,如何给不同部门、不同业务线、以及不同用户的作业进行统一管理比较关键,核心是多租户能力,Hadoop社区YARN调度功能早期并不是很强,上千个节点的管理能力较弱,虽然现在的新版本得以改进。早期的集群到几百个节点后,调度管理系统就难以支撑。因此我们开发了 Superior的调度器加以完善。工行的1000节点集群在银行业算是比较大的数量级。我们在华为内部构建了从500到几千直到10000节点的一个集群,这个过程已经对大集群的管理能力提前进行铺垫,在工行的应用就相对比较顺利。如图所示,我们把整个的资源管理按照部门多级资源池进行管理,通过superior调度器,按照不同的策略进行调度以支撑不同的SLA。整体效果而言,资源利用率得以成倍提升。还有一些其它组件,尤其是像HBase的region server是基于JAVA的JVM来管理内存,能利用的内存很有限,物理机资源基本用不满,资源不能充分利用。为了解决这个问题,我们实现在一个物理机上可以部署多实例,尽量将一个物理机的资源充分利用,ES也是按照这种方式来处理。集群变大之后,其可用性和可靠性也存在着很大的问题。大集群一旦出现问题导致全面瘫痪,对业务影响非常大。所以,银行业必须全面具备两地三中心的可靠性。首先是跨AZ部署的能力,AZ实际是属于云上的一个概念,传统的 ICT机房里更多的是跨DC数据中心的概念,跨AZ部署意味着一个集群可以跨两个AZ或者三个AZ进行部署。Hadoop本身具备多副本机制,以多副本机制为基础,可以将多个副本放置在不同的机房里。但是以上条件并非开源能力可以支撑,需要补充一些副本放置和调度的策略,在调度时要感知数据究竟放置在哪个AZ,任务调度到相应的AZ保证数据就近处理,尽量避免AZ之间由于数据传输带来的网络IO。另外,容灾能力还可以通过异地主备来实现,跨AZ能力要求机房之间的网络时延达到毫秒级,时延太高可能无法保证很多业务的开展。异地的容灾备份,即一个主集群和一个备集群。平时,备集群并不承担业务,仅主集群承载业务,一旦主集群发生故障,备集群随之进行接管,但是相应的代价也会较大,比如有1000个节点的主集群,就要构建1000个节点的备集群,所以多数情况下,主备容灾更多的是仅构建关键数据关键业务的备份,并非将其全部做成主备容载。      大数据集群需要不断扩容,随着时间的推移,硬件会升级换代,升级换代之后必然出现两种情况,其中之一就是新采购机器的CPU和内存能力,以及磁盘的容量,都比原来增大或者升高了,需要考虑如何在不同的跨代硬件上实现数据均衡。换盘的操作也会导致磁盘的不均衡,如何解决数据均衡是一个很重要的课题。我们专门开发了按照可用空间放置数据的能力,保证了数据是按照磁盘以及节点的可用空间进行放置。同时,对跨代节点按规格进行资源池划分,对于早期比较老旧且性能相对差一些的设备,可以组成一个逻辑资源池用于跑Hive作业,而内存多的新设备组成另一个资源池则用来跑spark,资源池通过资源标签进行区分隔离,分别调度。      集群变大之后,任何变更导致业务中断的影响都非常大。所以,升级操作、补丁操作都需要考虑如何保证业务不会中断。比如对1000个节点集成进行一次版本升级。如果整体停机升级,整个过程至少需要花费12个小时。滚动升级的策略可实现集群节点一个一个滚动分时升级,逐步将所有节点全部升级成最新的版本。但是开源的社区跨大版本并不保证接口的兼容性,会导致新老版本无法升级。因此我们研发了很多的能力以保证所有版本之间都能滚动升级。从最早的Hadoop版本一直到Hadoop3,所有的组件我们都能保证滚动升级。这也是大集群的必备能力。      数据湖的构建解决了工行的数据管理的难题,但同时也面临着很多新的挑战和问题。一般而言,很多大企业的硬件都是集中采购,并没有考虑到大数据不同场景对资源诉求的不一,而且计算与存储的配比并未达到很好的均衡,存在较大的浪费。其次,不同批次的硬件之间也存在差异,有些可能还会使用不同的操作系统版本,导致了一个集群内有不同的硬件、不同的操作系统版本。虽然可以用技术手段解决硬件异构、OS异构的问题,但是持续维护的代价相当高。再次,大数据手工部署效率低。往往开展一个新业务的时候,从硬件的采购到网络配置、再到操作系统安装,整个系统交付周期至少需要一个月。最后,资源弹性不足,如果上新业务时面临资源不足,就需要扩容。申请采购机器和资源导致上线的周期较长,我们有时给客户部署一个新业务,往往大多时间是在等到资源到位。另外,不同资源池之间的资源无法共享,也存在着一定的浪费。      所以工行要引入云的架构。FusionInsight很早就上了华为云,即华为云上的MRS服务。当下工行和其他很多银行都在部署云平台,将大数据部署到云平台上。但大规模的大数据集群部署到云上还存在着一些挑战,基于云原生的存算分离架构来部署大数据业务有很多优势。首先,将硬件资源池化,资源池化之后对上层就是比较标准的计算资源,计算和存储可以灵活的扩展,利用率相对较高。其次,基于云平台的大数据环境搭建,全部自动化,从硬件资源准备到软件安装,仅用一小时完成。再次,在申请集群扩容资源弹性时,无需准备,可以很快的在大资源池进行统一调配。一般而言,云上只要预留了资源,空间资源可以很快加入到大数据的资源池里,新业务上线也会变得非常敏捷。      再说存算分离,存储主要是以对象存储为主,用低成本的对象存储替代原来HDFS的三副本的能力,对象存储一般提供兼容HDFS的接口,在此基础上,对象存储可以给大数据、 AI等提供一个统一的存储,降低存储成本,运维的效率得以提高。但是,对象存储的性能不是很好,需要围绕大数据的业务特点解决以下问题。第一个,就是元数据,因为大数据是个重载计算,在计算的过程中读IO很高。读取数据的过程中。对象存储的元数据性能是个很大的瓶颈,因此需要提升元数据的读写能力。第二个,网络带宽,存储与计算之间的网络IO对网络带宽的需求比较高。第三个,网络时延,大数据计算是就近计算,数据在哪里相应的计算就会在哪里,存储数据是优先读本地盘,之后是读网络。时延存在一定的敏感性。我们主要是从缓存、部分计算下推上做一些优化,整体上而言,存算分离架构的性能跟一体化相比,除了个别用例有差距,整体性能都更高,尤其是写场景,因为写对象存储是写EC,而不用写三副本,写1.2个副本就可以了。最后,整体的 TCO大概得到30%~60%的下降。整体的性能与周边其他产品对比还是具有很大的优势。大数据部署到云上,对于大集群而言,虚机并没有太大优势,因为数据池子够大,虚机还会带来性能的损耗,而且其性能与物理机有一定差距。而且,基于SLA隔离要求,大数据资源池在私有云部署,很多时候还是需要独占,其资源无法和别的业务共享。而裸金属服务实际上可以很好的解决这些问题,它的性能接近物理机,而且可以分钟级完成裸金属服务器的发放,包括整个网络配置,OS安装。网络部分有专门的擎天网络加速卡,对裸机网络进行管理,而且网络性能比原来的物理网卡的性能更高,在裸金属服务器上开展大规模大数据业务是云上的最佳部署方案。未来展望:湖仓一体      工行和我们也在探索湖仓一体的解决方案。      华为云湖仓一体在存算分离的基础上,将数据管理层独立出来,其中包含了几个部分,第一个是数据集成,数据从各种各样的外部系统入湖。第二个是元数据集成,由于Hadoop数据湖上的元数据通过Hive管理,我们提供一个兼容Hive Metastore的独立元数据服务。第三个是数据的授权以及脱敏这些安全策略,我们要将其在Lake Formation这一层进行统一闭环。数据的底座构建好之后,数据分析服务如大数据的服务、数仓的服务、图计算、AI计算都是在同样的一个数据视图上进行计算处理。数仓DWS的服务本质是本地存储,数仓也可以通过它的一个引擎访问Lakehouse中的数据。这样数仓自己在本地有一个加速的数据层,同时也可以访问Lakehouse。      在此基础上我们通过一个架构来实现这三种湖,持续演进。蓝色数据流是离线数据流,实现离线数据湖能力,数据通过批量集成,存储到Hudi,再通过Spark进行加工。红色数据流是实时流,数据通过CDC实时捕获,通过Flink实时写入Hudi;通过Redis做变量缓存,以实现实时数据加工处理,之后送到诸如Clickhouse 、Redis、Hbase等专题集市里对外提供服务。同时,我们还开发了HetuEngine数据虚拟化引擎,将数据湖里面的数据以及其他专题集市里的数据进行多数据源关联分析,形成逻辑数据湖。虽然HetuEngine可以连接不同的数据源,但并不意味着所有应用只能通过HetuEngine来访问数据,应用还是可以通过各数据源原生接口进行访问。仅需要不同专题数据之间进行联合分析时,才需要通过HetuEngine统一访问。      如下是具体的实施计划:第一个,引入Hudi,构建一个数据湖的数据管理,每年大概可以节省几百万。第二个,引入HetuEngine,实现数据湖内的数据免搬迁的查询分析。避免一些不必要的ETL过程。第三个,引入ClickHouse,ClickHouse在OLAP领域有着非常好的处理性能和很多优势,因此考虑将其在工行落地。      数据湖以Hive作为存储,采用一天一次批量集成、批量合并的方案,即T+1的数据处理模式。这种模式存在几个比较大的业务痛点:第一,数据延时比较高,后端服务看到的数据并不是最新的。第二,跑批作业在夜里进行,而白天资源利用率较低,但集群资源是按照高峰期需求来构建,造成很大的资源浪费。第三, Hive不支持更新,数据合并需要开发较多代码实现,如把新数据临时表与原Hive表进行左右关联后覆盖原来整表或者部分分区表,开发成本比较高,业务逻辑复杂。引入Hudi就可以在很大程度上解决这些问题。数据通过CDC入湖,通过Spark或者Flink写入Hudi,支持实时更新,端到端可以做到分钟级的时延。数据以非常小的微批形式合并到数据湖,分散跑批使得资源白天和晚上都能得到充分利用,数据湖集群TCO预计可以下降20%。此外,数据集成脚本开发可以利用Hudi的Update能力,原来Hive要写几百行的代码,只需一行脚本即可完成,开发效率提升很大。      工行数据湖使用Hive来承载灵活查询业务,如SAS使用Hive SQL来访问数据湖,访问效率比较低,响应时间长,并发能力也不足。另外数据湖与数仓的两层架构导致了大量的重复数据,有较多关联分析需求,关联处理必然涉及到湖仓之间大量ETL。比如为了支撑BI工具的分析诉求,需要数据湖和数仓数据关联处理加工,并将加工之后的数据导入OLAP引擎。整体数据链路比较长,分析效率和开发效率都很低。通过HetuEngine数据虚拟化实现湖仓协同分析,一方面替代Hive SQL访问 Hive的数据,只需1/5的资源即可支撑大概原来5倍并发,同时访问时延降到秒级。另一方面可同时访问Hive和DWS提供秒级的关联查询,可以减少80%的系统间的数据搬迁,大量的减少 ETL的过程。      传统的OLAP方案一般用MySQL、Oracle或者其他的OLAP引擎,这些引擎因其处理能力有限,数据一般按照专题或者主题进行组织后与BI工具对接,导致BI用户和提供数据的数据工程师脱节。比如BI用户有一个新的需求,所需的数据没有在专题集市中,需要将需求给到数据工程师,以便开发相应的ETL任务,这个过程往往需要部门间协调,时间周期比较长。现在可以将所有明细数据以大宽表的形式加载Clickhouse,BI用户可以基于Clickhouse大宽表进行自助分析,对数据工程师供数要求就会少很多,甚至大部分情况下的新需求都不需要重新供数,开发效率和BI报表上线率都会得到极大提升。这套方法论在我们内部实践效果非常好,原来我们基于传统OLAP引擎建模,受限于开发效率,几年才上线了几十个报表。但是切到Clickhouse后,几个月之内就上了大概上百个报表,报表开发效率极大提升。转载自AI金融评论 https://mp.weixin.qq.com/s/eJse0GE8UZp-OJpDyXFx0A免责声明:转载文章版权归原作者所有。如涉及作品内容、版权等问题,请及时联系文章编辑!
  • [热门活动] 【获奖名单已公布】回帖互动赢大奖!玩转华为云FusionInsight MRS云原生数据湖,用HetuEngine打破数据壁垒
    【直播主题和时间】华为云FusionInsight MRS数享会:用HetuEngine打破数据壁垒2021年2月4日19:00-20:30【活动介绍】本期华为云大咖说,华为云FusionInsight MRS HetuEngine高级工程师韦伯将带大家玩转数据,用HetuEngine打破数据壁垒。本次直播活动,用户均可通过抽奖或互动的方式参与活动,华为智能手表、蓝牙耳机、智能手环、移动电源等多重好礼等你来拿~【直播地址和入口】点击链接或扫描图中二维码参加直播。直播链接:https://www.huaweicloud.com/about/live/HetuEngine.html【互动方式】(以下互动方式任选一种或多种)(互动时间截止到2月5日24:00,奖品会在2月7日公布哦)(1)参加本次华为云官网直播;(2)直播当天用户可自行组织观影活动,拍摄现场观影照片+观影心得,在本主题帖中进行回复参与活动;(3)完成华为云FusionInsight MRS云原生数据湖调研问卷。【获奖方式】1. 华为云官网直播互动有奖:直播链接:https://www.huaweicloud.com/about/live/HetuEngine.html 参与方式: 通过华为云官网直播在线观看,直播中会进行两次抽奖,随机抽取幸运用户获奖人数:2名(每次1名)奖励:华为手环4 Pro评奖规则:在线观看华为云官网直播即有机会抽取华为智能手环4 Pro。2.回帖互动有奖:参与方式: 通过拍摄现场观影照片,附上观影心得,在本主题帖中进行回复参与互动回帖示例:本次直播不但学到了知识还可以……获奖人数:6名奖励:一等奖:华为WATCH GT 2运动款(1名)二等奖:华为FreeLace Pro 无线耳机(2名)三等奖:华为40W超级快充移动电源(3名)评奖规则:根据观影照片呈现的内容,照片的注释及照片的人气进行综合评估,选出一、二、三等奖。3.填调研问卷有奖:调研问卷链接: https://devcloud.huaweicloud.com/expert/open-assessment/qtn?id=e372d4f01d9049179d59f2faca4a84c9参与方式: 通过填写调研问卷参与抽奖获奖人数:2名奖励:华为手环4评奖规则:登录华为云账号,有效填写调研问卷后进行抽奖,有机会获得华为手环4。【注意事项】1.获奖结果将在活动结束后2月7日进行公示,所有奖品将在活动结束后三十个工作日内发放。2.为防止有恶意发帖行为,同一ID回帖不得超过5条,若超过将取消获奖资格。3.每个ID只能参与一次评选,同一ID不可重复中奖。4.本次回帖内容需满足华为云论坛发帖规范 https://bbs.huaweicloud.com/forum/thread-23077-1-1.html 。5.活动最终解释权归华为云FusionInsight所有。小伙伴们,还在等什么,快快参与互动赢大奖吧!!!------------------------------------------------------------------------------------------------------------------------------------------------本期玩转华为云FusionInsight MRS云原生数据湖 用HetuEngine打破数据壁垒直播互动活动已经结束,感谢各位小伙伴的参与!获得本期直播互动奖励的名单如下,恭喜一下小伙伴~请各位中奖的小伙伴私信楼主反馈收货信息哦^_^  请小伙伴们在2021年2月11日前反馈收货信息,逾期礼品作废哦^_^ 【获奖名单】(没有反馈地址的小伙伴快快私信楼主反馈获奖地址吧~)奖项中奖人账号/昵称奖品中奖人邮寄地址一等奖ziyuweiHUAWEI WATCH GT 2运动款已收到二等奖songitHUAWEI FreeLace Pro无线耳机已收到二等奖qweqweHUAWEI FreeLace Pro无线耳机已收到三等奖wuyicom华为40W超级快充移动电源已收到三等奖一天之内华为40W超级快充移动电源已收到三等奖yzq18941596181华为40W超级快充移动电源已收到直播抽奖visitor_4552325华为手环4 Pro待反馈直播抽奖1612436649102490华为手环4 Pro已收到问卷抽奖hw17951169华为手环4已收到问卷抽奖hw75435701华为手环4已收到
  • [行业动态] 华为云FusionInsight MRS金融行业首个1000+大集群滚动升级成功
            2020年8月27日,中国工商银行联合华为完成了金融行业首家规模超千台的Hadoop集群大版本滚动升级,为期两周的升级过程突破了传统的离线升级模式,真正实现了业务无感的平滑滚动升级。全程集群作业无中断、性能无影响,为全行上百个应用、上千个场景、上万个作业保障了7*24小时不间断的数据服务。本次滚动升级对金融科技领域意义重大,中国工商银行为金融同业树立了大数据服务连续性上的建设标杆,响应了国家大数据和人工智能战略技术高地的建设要求,为金融同业大数据平台的高可用建设提供了可参考的综合解决方案。一、项目背景中国工商银行从2002年起持续优化数据架构,推进数据赋能业务,在完成数据大集中的同时,率先建设金融行业企业级数据仓库。以“开放、共享”为原则,工商银行于2016年启动大数据服务云体系的建设,完成了企业级全量数据集中和通用服务沉淀,截至目前以可靠、高效、易扩展的大数据和人工智能平台为基础,以数据**为赋能核心,构建了集基础设施、大数据和人工智能技术、海量高时效全数据、标准智能共享服务、丰富多样业务场景于一体的数据智能生态新模式(如图1),助力全行服务提质增效,向智能化、生态化时代的跃进。图1 中国工商银行大数据服务云现有架构工行大数据平台的Hadoop批量集群已超过一千个节点,日均处理作业数十万个,数据存储数十PB,赋能于180余总行应用和境内外41家分行及子公司,承载了全行重点批量作业,其中包括监管报送、损益分析、减值测算等多个重要业务场景,服务连续性需求较高。为了在保障7*24小时不间断服务的前提下,维持技术引领,Hadoop集群应做到业务无感的平滑滚动升级,保障技术组件的先进性,降低技术风险,深化技术能力,助力新技术场景创新和IT架构转型升级。二、项目内容2.1 技术挑战工行本次滚动升级面向的Hadoop集群,部署了ZooKeeper、HDFS、YARN、MapReduce、Spark、Hive、HBase等各类组件,各组件的版本更新必然存在一些适用性、兼容性问题(组件版本变更如表1)。        此外,集群中每日上万作业的执行,也为无感知的滚动升级加大了难度。主要挑战有以下几点:一是Hadoop 2.X到3.X的跨大版本升级中,社区仅提供了HDFS的滚动升级能力,YARN的社区原生目标版本由于与原版本协议不同,无法支持滚动升级。二是Hive 1.2到3.1的跨大版本升级中,由于元数据前后格式不兼容、API前后版本有变化、部分语法不兼容等问题,导致社区原生版本无法支持滚动升级。三是社区原生版本的HDFS在升级过程中,删除的文件并不会物理删除,而是移动到trash目录,这一处理对大容量集群的滚动升级造成存储资源压力,阻碍了剩余信息保护。四是升级前后由于版本变化,每日上万任务量,如何保障平稳运行,尤其是损益分析、减值测算等核心场景。五是上千台的物理节点的环境下,需要确保在升级过程中,快速应对硬件(磁盘、内存等)故障,不影响升级。六是升级过程较为复杂,应对集群升级状态强化监控、告警等运维管理服务,加强关键技术、管理瓶颈的应急响应。2.2 技术保障所谓滚动升级,就是借助于Hadoop核心组件的高可用机制,在不影响集群整体业务的情况下,一次升级/重启少量节点。循环滚动,直至集群所有节点升级到新版本。下图为已HDFS组件滚动升级示例:为应对上述技术挑战项目组建了滚动升级小组,由社区PMC、社区Commiter、版本Developer构成,主要执行了以下技术保障:一是依托协议同步、元数据映射转换、API封装转换等方式,解决了社区协议不同、元数据格式不同、API变化等导致的兼容性问题,保障了滚动升级过程中低版本的组件客户端的正常使用,目前项目组已将发现的通用问题反馈开源社区。二是针对HDFS社区新版本升级过程中的文件未删除问题,项目组额外实现了trash目录自动清理,将逻辑删除转换为物理删除,并增补了旧版本定期清理trash目录的工具。一方面确保了基础设施资源利用的有效性,降低存储成本;另一方面贯彻了国标、金标等保2.0中的剩余信息保护,确保关键信息存储空间的完全释放。三是详细评估了各组件升级过程及升级后版本的性能状况,完成了升级时长的预估,针对升级过程中和事后可能出现的瓶颈点,做了相应架构调整及优化,助力实现滚动升级的全局可控、全程无感、全面无误。为解决上千节点规模集群的调度性能,小组推出了自研Superior调度器,在旧版本的基础上深度优化了调度算法,将一维的调度转换为二维调度,实现调度速率提升至每秒35万个Container。为解决大规模存储的瓶颈问题,社区推出了联邦解决方案,但不同的命名空间的引入,导致上层业务在开发、数据管理、维护上复杂度提升,为解决这一问题,社区又推出了Router Based Federation特性,但由于在NameNode之上加了一层Router进行交互,导致性能下降。小组提供了如下优化:l  通过在大集群生产环境中识别关键瓶颈,我们通过合并单次读写流程中的交互次数、使用改良的数据通信压缩算法等技术方案,将性能下降控制在4%以内。l  为解决不同命名空间之间数据不均衡的问题,我们利用DataMovementTool自动均衡不同命名空间之间的数据,大大降低了集群维护成本。同时,小组发现Hive的元数据在面对海量表/分区的时候,也面临着非常大的瓶颈。虽然社区推出了Metastore Cache的解决方案,但仅适用于一个MetaStore的场景,多个MetaStore的缓存并不一致,导致此特性无法在实际场景中使用。小组提出使用Redis作为替代方案,同时通过分布式锁、缓存黑白名单机制、缓存生命周期管理等技术手段增强了该特性的可用性。为保障大规模集群在滚动升级期间的容错能力,小组提供了任务级“断点续传”能力,例如:Hive不中断业务能力:即当Hive beeline断连、Hive Server因故障重启、MapReduce JobHistory无响应等原因导致Hive任务失败时,任务能够继续重试运行,无需失败从头开始,大大降低了重试成本及任务时长。 AM的断点续传能力:虽然Yarn的Application Master故障后,能够立即在其他节点上被拉起,但之前已执行的计算任务只能从头开始处理。小组提供了AM记录任务执行状态、区分任务执行进度能力,待AM因故障被重启拉起后,可以安装之前的记录状态继续执行,提升了执行效率。四是运维管理方面,项目组针对性的研发了升级管理服务界面,可以端到端、分步骤地完成滚动升级,便于查看滚动升级状态,实现组件级控制。为了降低在升级过程中对关键任务服务连续性的影响,项目实现了按升级批次暂停的功能,有助于在关键作业或者作业高峰时段,通过暂停升级进行风险规避,确保业务无影响。此外,为快速处理升级过程中可能出现的硬件故障,升级管理服务提供了故障节点隔离能力,在故障发生时,可以跳过对应节点的升级动作,保障了故障处理和升级的同步进行。2.3 组织保障本次升级确立了“风险可控、业务无感”的总体目标,由于目标集群规模大、涉及应用广、相关部门多,除了上述技术保障手段,工行还采取了一系列手段,提供组织保障(见图2),具体描述如下:图2 工行滚动升级项目组织保障在项目管理方面,如何保证跨多部门高效协同地完成工作,是集群升级过程中一个巨大的挑战。本次滚动升级项目,形成了大数据与人工智能实验室牵头、相关部门配合评审实施的组织形式。前者负责制定了整个项目具体方案和项目流程,通过内部多级评审机制,就总体方案与多部门快速达成共识,同时按照不同的部门职责完成子任务分配,从而保障跨多部门的项目组织架构高效协同工作,平稳推进整体项目进度。升级准备方面,项目组一是完成了升级版本功能性、非功能性评估,重点验证了滚动升级的正确性、完整性、适用性;二是实现了对全行的应用场景的梳理,定制了分级验证机制,为每一个应用场景制定了相应适度的测试、验证方案,并完成了正式邮件的告知,用于百余应用的配合验证。对于分级验证机制中的数十个典型应用,通过行内“任务单”项目管理方式纳入了项目级配合流程,确保对升级过程进行重点验证。灾备应急设计方面,工行制定了详细的保障方案,包括数据备份策略和回滚策略。对于备份策略,一是在升级之前全量备份集群元数据,排除因元数据丢失而导致丢数的情况;二是对于重点批量数据采用双园区备份,实现双加载以避免主集群升级中的故障风险影响业务。对于回滚策略,一是在技术维度保障了回滚原版本的可行性,保证业务的连续性,二是确立了“无法快速解决的生产故障”、“大规模批量作业中断”两项回滚判定条件。上述的“双加载”是重点业务双活运行方案的一部分,主要涉及监管报送类损益分析、减值测算等多个应用场景,该类作业在备集群同步运行,实现重点批量双园区双活,切实避免因单边园区故障影响业务连续性的情况出现。升级模拟方面,为了遵循风险可控、循序渐进的原则,工行先后进行了两套较小规模的集群滚动升级。一是2020年3月针对Hadoop批量备集群进行滚动升级,该集群负责同城双活运行的重要批量作业,经生产环境实际验证,升级过程中业务无感知,也未发现集群侧风险;二是2020年4月,工行搭建一套规模更大的Hadoop批量集群,一方面增强批量双活承载能力,另一方面再次验证了滚动升级。两次生产环境模拟之外,开发、测试环境共计10套不同的Hadoop集群陆续完成了滚动升级验证,实现了升级风险的归纳总结和研发修订,为最大规模的集群升级打下坚实基础。三、总结与展望中国工商银行联合华为公司完成的本次金融业首家规模超千台的Hadoop集群大版本滚动升级,实现了客户无感知,切实保障了客户的核心利益,标志着工行向金融大数据蓝图迈出了重要的一步,借助于Hadoop核心组件的高可用机制,完成了端到端分步骤的滚动升级,实现了升级过程中的可视化控制和管理。大数据的高速发展带来的社会经济的“革命”,在广度、深度和速度上都将会是空前的,也将会远远超出工业社会的常识和认知,并且发展所带来的的挑战和困难也将是前所未有的。在此背景下,中国工商银行会继续建立健全企业级大数据平台,进一步提升数据洞察能力和基于场景的数据挖掘能力,充分释放大数据作为基础性战略资源的核心价值,为金融科技应用实践和大数据生态建设建设添砖加瓦。更多内容,华为云FusionInsight系列文章:https://bbs.huaweicloud.com/forum/thread-66105-1-1.html 
  • [赋能学习] CarbonData入门培训——CarbonData常见问题定位
    ## CarbonData-内嵌于Spark2x服务 1. CarbonData运维 = Spark服务运维 + CarbonData业务运维 2. Spark服务运维:1)服务管理、实例管理;2)Spark页面查看;3)性能监控;4)配置管理;5)告警 3. CarbonData业务运维:1) 元数据操作,建表,删表;2)数据加载;3)查询;4)性能 4. 日志收集:1) app日志以及gc日志(driver,executor),eventlog;2) namenode日志、gc日志及audit日志;3)hive metastore日志。 ## **数据加载失败常见原因** 1. **Executor堆内存过小:**查看Spark页面,task执行失败,Error信息为OutOfMemory异常。-- 解决方法:增加Executor堆内存。 2. **Executor堆外内存过小:**查看Spark页面,task执行失败,Error信息为org.apache.carbondata.core.memory.MemoryException: Not enough memory。-- 解决办法:CarbonData默认使用堆外内存来对导入的数据进行排序,如果堆外内存不够,会导致加载失败。这种情况下,增大carbon.unsafe.working.memory.in.mb和spark.yarn.executor.memoryOverhead的值。 3. **导入命令options错误:**导入没有开始即失败,Driver日志显示异常为CarbonDataLoadingException: CSV header in DDL is not proper. Column names in schema and CSV header are not the same。-- 解决办法:导入命令options中数据分隔符(DELIMITER)或文件头(FILEHEADER)与原始数据文件不符,修改正确的导入命令。 ## 查询失败、性能差常见原因 1. **任务GC严重:**查看Spark页面,task信息GC Time占比Duration大,并且绝对值随着任务执行持续增加。-- 解决办法:频繁GC,表明Executor堆内存过小,适当增加堆内存或者减少vcore数量。 2. **数据倾斜:**查看Spark页面,大部分task已经执行成功,少数task执行时间长,这些task可能需要很久才能执行完成,或者失败。-- 解决办法:数据倾斜多发生于join查询,多表做join,可以改变表参与join的顺序,小表先join,而后与大表join;大小表做join,改变join的方式,将小表广播到各个Executor,免去排序shuffle过程。 3. **应用异常终止:**CarbonData索引会缓存在应用的Driver端,超大规模数据量下,Driver内存占用很大,查询过程也会占用部分内存,叠加后,如果超过Driver配置的内存大小,Driver会异常退出。-- 解决办法:增加Driver内存。 4. **SQL解析报错:**查询没有开始执行即失败,Driver日志显示异常为sql解析异常,可能为bug。 -- 解决办法:收集建表语句,查询sql,反馈给研发。
  • [赋能学习] CarbonData入门培训——CarbonData原理介绍
    **CarbonData文件格式** ![image.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/attachment/forum/202101/28/200500ts16dzi1sj7hikpc.png) **CarbonData两级索引架构** ![image.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/attachment/forum/202101/28/200542n0bh6mmhutw38muf.png) **CarbonData过滤查询过程** ![image.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/attachment/forum/202101/28/200619ffdtgab7xuerw8pn.png) **CarbonData表数据管理** ![image.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/attachment/forum/202101/28/200716udiudbol60odb0qh.png) **CarbonData的Segment管理** ![image.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/attachment/forum/202101/28/200732zpowlxmfesrngp7f.png) **CarbonData压缩合并Segment** ![image.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/attachment/forum/202101/28/200753qwoxqnmc5l2s8lxn.png)
  • [赋能学习] CarbonData入门培训——CarbonData基本操作和表目录结构
    ​ 使用FusionInsight(FI)的CarbonData特性,需要先从FI上下载spark2x的客户端,然后登录spark-beeline,spark-sql,spark-shell或使用spark-submit命令,进行CarbonData特性的相关操作。 ​ CarbonData最主要的使用场景是通过Sql操作,以下操作和截图是在spark-beeline上进行的。 ## **使用方式:创建表** ```sql create table x1 (imei string, deviceInformationId int, mac string, productdate timestamp, updatetime timestamp, gamePointId double, contractNumber double) STORED as carbondata TBLPROPERTIES ('DICTIONARY_EXCLUDE'='mac', 'DICTIONARY_INCLUDE'='deviceInformationId', 'SORT_COLUMNS'='imei,mac'); ``` 其中TBLPROPERTIES(xxx)为表属性,是可选项。 ![image.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/attachment/forum/202101/28/171759etps5eqjtcersike.png) ## **使用方式:查看表属性** ```sql desc formatted x1; ``` 其中x1为表名。 ![image.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/attachment/forum/202101/28/171838owutamekqmbgbfki.png) ## **使用方式:导入数据** ```sql LOAD DATA inpath 'hdfs://hacluster/data/x1_without_header.csv' into table x1 options('DELIMITER'=',', 'QUOTECHAR'='"','FILEHEADER'='imei, deviceinformationid,mac, productdate,updatetime, gamepointid,contractnumber'); ``` 其中options(xxx)为表属性,是可选项。 ![image.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/attachment/forum/202101/28/171852uz0sxvnj54v1izba.png) ## **使用方式:查看导入信息** ```sql SHOW SEGMENTS FOR TABLE x1; ``` ![image.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/attachment/forum/202101/28/1719048m7bluxag5g6rnzh.png) ## **使用方式:删除特定导入批次** ```sql delete from table x1 where segment.id in(0); -- 标记Segment0为删除 clean files for table x1; -- 彻底删除 ``` ![image.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/attachment/forum/202101/28/171915baj5mom1ekazqoip.png) ## **使用方式:合并导入批次** ```sql alter table x1 compact 'major'; -- 将多个segment合并为一个segment clean files for table x1; -- 将合并前的segment彻底删除 ``` ![image.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/attachment/forum/202101/28/1719266cqd2x8b2iroykbc.png) ## **使用方式:创建二级索引** ```sql create index idx_x1_mac on table x1(mac) as 'org.apache.carbondata.format'; -- 对表的mac列创建二级索引 show index on x1; -- 显示表的全部二级索引 ``` ![image.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/attachment/forum/202101/28/171938objwcvkneakwusos.png) ## **使用方式:其他操作** ```sql -- CarbonData还支持其他普通sql操作,如: -- 表重命名 -- 添加列 -- 删除列 -- 修改列数据类型 -- 更新表数据 -- 按条件删除数据 -- ... -- 访问了解更多 -- http://carbondata.iteblog.com/quick-start-guide.html -- http://carbondata.iteblog.com/data-management-on-carbondata.html ``` ## **表目录结构** ![image.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/attachment/forum/202101/28/172703utuqtbdni8tjizcs.png) ![image.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/attachment/forum/202101/28/1727123im5z05rytoxvmfp.png) Segment:每次导入,数据文件存放的目录,目录名为Segment_ carbonindexmerge:索引文件 carbondata:数据文件 ![image.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/attachment/forum/202101/28/172809ggjq3ezxoey0l8dc.png) dict:字典文件 dictmeta:字典元数据文件 sortindex:字典索引文件 schema:表结构信息 segments:每个segment的元数据信息 tablestatus:表状态信息
  • [赋能学习] spark-sql通过insert overwrite导出的数据中null被替换为\N的解决办法
    某局点出现spark-sql通过insert overwrite导出的数据中null被替换为\N,这其实是Hive的正常功能,在使用spark-sql、spark-beeline、spark-shell操作parquet表、carbondata表都会出现。 可以通过改进sql来解决。 现象: 建表语句: ``` CREATE TABLE carbon_test1(imei string, deviceInformationId int) STORED BY 'org.apache.carbondata.format'; ``` 加载数据: ``` LOAD DATA inpath 'hdfs://hacluster/tmp/carbon_test1.csv' into table carbon_test1 options('DELIMITER'=',','FILEHEADER'='imei,deviceInformationId'); ``` 数据文件carbon_test1.csv内容: ``` 111, 222, ``` 直接select语句查看: ![image.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/attachment/forum/202101/21/154430si3l5ajejdry2qjl.png) 导出语句: ``` spark.sql(" insert overwrite local directory '/tmp/carbon' row format delimited fields terminated by '\t' select * from carbon_test1 ") ``` 导出好发现null值被替换成了\N: ``` 111 \N 222 \N ``` 解决办法: 将insert overwrite语句改为 ``` insert overwrite local directory '/tmp/carbon3' ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' WITH SERDEPROPERTIES ('field.delim'='\t','serialization.null.format'='NULL') select * from carbon_test1; ``` 导出后数据为: ``` 111 NULL 222 NULL ``` 其中serialization.null.format参数是关键,它设为啥null值就换为啥。
  • [技术干货] FusionInsight Flink使用pyflink
    非交互式运行pyflink作业1.     根据产品手册安装flink客户端2.     检查客户端节点python版本(the version printed here must be 3.5, 3.6 or 3.7):python --versionPython 3.7.03.     在客户端端中创建opt文件夹(/opt/client/Flink/flink/opt)4.     从flink服务端中获取flink-python_2.11-1.10.0.jar包(/opt/huawei/Bigdata/FusionInsight_Flink_8.0.2/install/FusionInsight-Flink-1.10.0/flink/opt),将该包放入客户端opt目录中5.     使用yarn-cluster方式运行pyflink作业flink run -m yarn-cluster -yt ssl -py ./../examples/python/table/batch/word_count.py6.     使用yarn-session方式运行pyflink作业yarn-session.sh -t ssl –dflink run -yid application_1599102571374_0007 -py ./../examples/python/table/batch/word_count.py二、交互式运行pyflink作业1.      根据产品手册安装flink客户端2.      检查客户端节点python版本(the version printed here must be 3.5, 3.6 or 3.7):python --versionPython 3.7.03.      在客户端端中创建opt文件夹(/opt/client/Flink/flink/opt)4.      从flink服务端中获取flink-python_2.11-1.10.0.jar包(/opt/huawei/Bigdata/FusionInsight_Flink_8.0.2/install/FusionInsight-Flink-1.10.0/flink/opt),将该包放入客户端opt目录中        5.      本地模式运行pyflink-shell.shpyflink-shell.sh local>>> import tempfileimport osimport shutilsink_path = tempfile.gettempdir() + '/streaming.csv'if os.path.exists(sink_path):    if os.path.isfile(sink_path):        os.remove(sink_path)    else:        shutil.rmtree(sink_path)s_env.set_parallelism(1)t = st_env.from_elements([(1, 'hi', 'hello'), (2, 'hi', 'hello')], ['a', 'b', 'c'])st_env.connect(FileSystem().path(sink_path)) \    .with_format(OldCsv()                 .field_delimiter(',')                 .field("a", DataTypes.BIGINT())                 .field("b", DataTypes.STRING())                 .field("c", DataTypes.STRING())) \    .with_schema(Schema()                 .field("a", DataTypes.BIGINT())                 .field("b", DataTypes.STRING())                 .field("c", DataTypes.STRING())) \    .register_table_sink("stream_sink") t.select("a + 1, b, c").insert_into("stream_sink") 6.      On Yarn运行pyflink-shell.sh1) 修改flink-conf.yaml中的配置项security.ssl.enabled: false2) pyflink-shell.sh yarn>>> import tempfileimport osimport shutilsink_path = tempfile.gettempdir() + '/streaming.csv'if os.path.exists(sink_path):    if os.path.isfile(sink_path):        os.remove(sink_path)    else:        shutil.rmtree(sink_path)s_env.set_parallelism(1)t = st_env.from_elements([(1, 'hi', 'hello'), (2, 'hi', 'hello')], ['a', 'b', 'c'])st_env.connect(FileSystem().path(sink_path)) \    .with_format(OldCsv()                 .field_delimiter(',')                 .field("a", DataTypes.BIGINT())                 .field("b", DataTypes.STRING())                 .field("c", DataTypes.STRING())) \    .with_schema(Schema()                 .field("a", DataTypes.BIGINT())                 .field("b", DataTypes.STRING())                 .field("c", DataTypes.STRING())) \    .register_table_sink("stream_sink") t.select("a + 1, b, c").insert_into("stream_sink")
  • [赋能学习] FusionInsight MRS 赋能材料汇总贴
    华为云FusionInsight MRS概念入门华为云FusionInsight MRS 拓展Poc材料汇总项目学习内容学习目标视频学习地址学习材料,点击下载MRS 产品架构FusionInsight MRS   融合大数据和湖仓一体议题解决方案了解大数据发展的历程,深入剖析大数据发展趋势https://bbs.huaweicloud.com/videos/103242MRS 安装部署操作系统安装熟练掌握各种常见操作系统的安装和配置NA《操作系统及Raid配置手册.pdf》磁盘RAID组配置熟练掌握各种常用RAID卡的配置集群规划、安装部署熟练掌握MRS集群的LLD规划工具使用和配置,熟悉集群的安装流程和方法,并能按照指导实操部署https://bbs.huaweicloud.com/videos/103223《MapReduce   Service 3.0.2-ESL 产品文档》软件安装章节《FusionInsight MRS规划、部署、实施v3.pdf》MRS 基本功能基本原理、与其他组件的关系熟悉集群各个组件的基本原理和与其他组件的关系https://bbs.huaweicloud.com/forum/thread-66102-1-1.html《MapReduce Service   3.0.2-ESL 产品文档》组件介绍章节集群基础功能掌握熟练掌握manager基本功能,熟悉各个组件基本功能,    能够熟练使用各组件的基础命令NA《华为云Stack 8.0.2   MapReduce服务验收测试指南(安全模式)基础包》MRS 关键特性MRS关键特性解读了解MRS关键特性,熟悉MRS优势组件,充分理解    carbondata、HetuEngine、Ranger、多租户、manager等优势组件能力carbon: https://bbs.huaweicloud.com/videos/103212HetuEngine:https://bbs.huaweicloud.com/videos/103213Ranger: https://bbs.huaweicloud.com/videos/103215多租户: https://bbs.huaweicloud.com/videos/103216Manager: https://bbs.huaweicloud.com/videos/103217《FusionInsight   MRS关键特性-CarbonData.pdf》《FusionInsight MRS关键特性-Manager.pdf》《FusionInsight MRS关键特性-Ranger.pdf》《FusionInsight MRS关键特性-HetuEngine.pdf》组件高级特性梳理各个组件高级特性,熟练运用于POC测试环节NA《华为云Stack 8.0.2   MapReduce服务验收测试指南(安全模式)扩展包》MRS关键技术及应用场景解读了解MRS关键技术,熟悉MRS关键技术应用场景,结    合场景和关键技术特点,发挥MRS优势性能关键技术1:https://bbs.huaweicloud.com/videos/103208关键技术2:https://bbs.huaweicloud.com/videos/103209关键场景1:https://bbs.huaweicloud.com/videos/103211关键场景2:https://bbs.huaweicloud.com/videos/103210《FusionInsight   MRS ESL 3.0.2基线方案-融合大数据平台 v1.0》《FusionInsight MRS ESL 3.0.2基线方案-数据湖&湖仓一体 v1.0》MRS 技能进阶MRS二次开发熟练掌握MRS安全认证方式和各组件样例代码、了解各    组件支持语言及常用接口https://bbs.huaweicloud.com/videos/103219《MapReduce   Service 3.0.2-ESL 产品文档》应用开发指南章节《华为云Stack 8.0.2 MapReduce服务API接口文档》《FusionInsight MRS二次开发样例.pdf》MRS性能调优学习MRS各组件常用调优方式,可根据各组件的原理和    特点,调整相关参数,优化组件性能《FusionInsight HD   6.5.1 性能调优指导》MRS各组件常见问题定位学习各组件常见问题定位思路和方法,并运用于现    实场景manager/hdfs/hive: https://bbs.huaweicloud.com/videos/103220ES: https://bbs.huaweicloud.com/videos/103221HBase/Spark: https://bbs.huaweicloud.com/videos/103222《FusionInsight   MRS(ESL版) HDFS 基本运维及常见问题定位手段.pdf》《FusionInsight MRS(ESL版) Manager 基本运维及常见问题定位手段.pdf》《FusionInsight MRS(ESL版) Hive 基本运维及常见问题定位手段.pdf》《FusionInsight MRS(ESL版)Elasticsearch 基本运维及常见问题定位手段.pdf》《华为FusionInsight MRS(ESL版) HBase 基本运维及常见问题定位手段.pdf》《华为FusionInsight MRS(ESL版) Spark 基本运维及常见问题定位手段.pdf》MRS巡检、补丁升级、容量指导掌握MRS巡检、补丁升级、扩缩容的操作方法https://bbs.huaweicloud.com/videos/103224《FusionInsight   MRS(ESL版) 补丁.pdf》《FusionInsight MRS(ESL版) 巡检.pdf》《FusionInsight MRS(ESL版) 升级.pdf》《华为云Stack 8.0.2 MapReduce服务容量调整指导书》MRS生态地图、技术生态介绍了解MRS周边生态和学习常用工具对接方法https://bbs.huaweicloud.com/videos/103218https://fusioninsight.github.io/ecosystem/zh-hans/华为云FusionInsight MRS 交付材料汇总项目学习内容学习目标视频学习地址学习材料MRS部署赋能HCS8.0配套管控面部署掌握MRS管控面部署https://bbs.huaweicloud.com/videos/103826《MRS 8.0管控面部署和集群发放》物理机集群部署及纳管(常见FAQ)掌握MRS物理资源池部署方案及纳管https://bbs.huaweicloud.com/videos/103839《物理机集群部署及纳管》MRS开发支持二次开发流程(重点讲解认证及登录)    场景化样例工程样例讲解(以flink/sparkstreaming流处理场景为例)    ES检索场景样例讲解典型场景二次开发案例串讲,掌握E2E场景开发demo能力https://bbs.huaweicloud.com/videos/103828《MRS开发支持(重点讲解认证及登录)》MRS平台迁移-迁移案例权限升级至ranger管理(工行案例)ranger权限升级指引https://bbs.huaweicloud.com/videos/103838《Ranger基本知识介绍》MRS平台调优-批处理引擎调优调优参数讲解;    Hive调优    Spark调优掌握批处理调优hive: https://bbs.huaweicloud.com/videos/103825spark: https://bbs.huaweicloud.com/videos/103830《Hive性能调优》《Spark性能调优》MRS平台调优-实时&流引擎调优HBase调优ES/solr调优kafka/flink调优掌握实时检索及流处理调优Hbase: https://bbs.huaweicloud.com/videos/103824ES: https://bbs.huaweicloud.com/videos/103822Solr: https://bbs.huaweicloud.com/videos/103829Kafka: https://bbs.huaweicloud.com/videos/103827《HBase性能调优》《Elasticsearch性能调优》《Elasticsearch 优化指导.docx》《Solr性能调优》《Solr性能调优(参数)指导手册.docx》《Solr 优化指导.docx》《kafka性能调优》华为云FusionInsight MRS 运维材料汇总项目学习内容学习目标视频学习地址学习材料故障处理基本问题定位与解决方案重点组件基本的问题定位思路HDFS/Hive问题定位解决https://bbs.huaweicloud.com/videos/103220   HBase/Spark问题定位解决https://bbs.huaweicloud.com/videos/103222    ES问题定位解决https://bbs.huaweicloud.com/videos/103221   Flink常见问题分析https://bbs.huaweicloud.com/videos/103823        《FusionInsight   MRS(ESL版) HDFS 基本运维及常见问题定位手段.pdf》《FusionInsight MRS(ESL版) Manager 基本运维及常见问题定位手段.pdf》《FusionInsight MRS(ESL版) Hive 基本运维及常见问题定位手段.pdf》《FusionInsight MRS(ESL版)Elasticsearch 基本运维及常见问题定位手段.pdf》《华为FusionInsight MRS(ESL版) HBase 基本运维及常见问题定位手段.pdf》《华为FusionInsight MRS(ESL版) Spark 基本运维及常见问题定位手段.pdf》《FusionInsight Flink赋能&常见问题定位.pdf》日常运维多租户管理租户管理常见问题https://bbs.huaweicloud.com/videos/103831《多租户基础简介.pdf》用户权限管理创建、删除、管理用户权限https://bbs.huaweicloud.com/videos/103840《用户权限管理简介.pdf》监控模块如何查看监控https://bbs.huaweicloud.com/videos/103836《FusionInsight_Manager监控模块简介_v1.1.pdf》告警监控如何查看告警https://bbs.huaweicloud.com/videos/103832《FusionInsight_Manager告警模块简介_v1.0.pdf》巡检日常巡检FusionInsight   MRS巡检工具使用https://bbs.huaweicloud.com/videos/103224《FusionInsight MRS(ESL版) 巡检.pdf》版本升级变更扩容、减容以及修改ip掌握Manager扩容减容修改IP等基本操作https://bbs.huaweicloud.com/videos/103837《扩容介绍.pdf》《修改IP.pdf》kerberos互信掌握kerbos互信的基本操作https://bbs.huaweicloud.com/videos/103833《kerberos互信介绍.pdf》升级、补丁FusionInsight   MRS升级、补丁相关问题https://bbs.huaweicloud.com/videos/103224《FusionInsight MRS(ESL版) 升级.pdf》《FusionInsight   MRS(ESL版) 补丁.pdf》
  • [赋能学习] FusionInsight MRS概念入门
  • [问题求助] 【FusionInsight产品】Apache Drill对接hdfs问题
    【功能模块】hdfs【操作步骤&问题现象】Apache Drill对接hdfs的时候遇到问题,具体是配置好huaweihdfs之后在后台使用show databases;查看的时候报错:【截图信息】
  • [问题求助] FusionInsight 6.5.1引入的jackson-databind-2.9.8具有高危漏洞风险
       FI被扫面出高危漏洞风险该如何升级解决?
  • [问题求助] 【FusionInsight产品】Apache Kylin对接FusionInsight时web页面打不开
    【功能模块】FusionInsight HD【操作步骤&问题现象】Apache Kylin对接FusionInsight时web页面打不开, 在kylin.log可以看到报错【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [技术干货] 【FusionInsight产品】Apache kylin对接MRS启动报错
    【功能模块】FusionInsight【操作步骤&问题现象】在测试Apache Kylin对接FusionInsight的时候启动(kylin.sh start)有报错,不知道什么原因。【截图信息】【日志信息】 (可选,上传日志内容或者附件)
  • [赋能学习] 零基础入门FusionInsight Hadoop系列视频
    部署安装篇演示在实验室环境中安装单OMS的FusionInsight HD 8.0.2版本集群视频标题链接V001 CentOS7.6系统简化安装https://v.qq.com/x/page/p32112zmnpm.htmlV002 配置IP地址和关闭防火墙https://v.qq.com/x/page/f3211dggxf2.htmlV003 编译安装python3https://v.qq.com/x/page/f32115ijwfe.htmlV004 获取安装包https://v.qq.com/x/page/m3219xar65i.htmlV005 OMS安装https://v.qq.com/x/page/o3211b9ql7u.htmlV006 安装集群https://v.qq.com/x/page/y3211owpdlr.htmlV007 注册组件包https://v.qq.com/x/page/h3211p26dlx.htmlV008 添加服务https://v.qq.com/x/page/m3211zmzf0m.htmlV009 注册跨平台软件包https://v.qq.com/x/page/n32117xop4y.htmlV010Manager页面简介https://v.qq.com/x/page/d3212czd59s.htmlV011安装客户端https://v.qq.com/x/page/i3212qu7dsr.htmlV012创建用户及客户端简单实用 https://v.qq.com/x/page/o3212ov6rrf.html各组件基础入门视频Spark(视频待审核后发出)标题链接Spark入门培训系列1:Spark应用场景https://bbs.huaweicloud.com/forum/thread-103560-1-1.htmlSpark入门培训系列1:Spark基本原理上-RDDhttps://bbs.huaweicloud.com/forum/thread-105056-1-1.htmlCarbonData(视频待审核后发出)标题链接CarbonData入门培训——CarbonData原理介绍https://bbs.huaweicloud.com/forum/thread-104377-1-1.htmlCarbonData入门培训——CarbonData基本操作和表目录结构https://bbs.huaweicloud.com/forum/thread-104333-1-1.htmlCarbonData入门培训——CarbonData常见问题定位https://bbs.huaweicloud.com/forum/thread-104380-1-1.html二次开发篇参考之前录制的视频,该部分仅录制新增部分,基于Java语言的maven项目参考之前的视频https://bbs.huaweicloud.com/forum/thread-90936-1-1.html生态案例篇根据项目优先级,优先录制有需求的对接视频标题链接V001 Kettle对接Hivehttps://v.qq.com/x/page/w32115hlhil.htmlV002 Tableau对接HetuEngine场景Demo篇序号基线方案涉及组件场景主题场景描述详情1-1实时检索Kafka 、SparkStreamingHBase、ES交警智能搜车系统实时采集卡口的过车数据,供交警智能系统查询点击跳转1-2实时检索Spark、HBasexx银行日志信息检查业务场景xx银行的手机银行将埋点日志实采集到,传回服务端存入了HBase集群原始表。现在需要检查原始表日志信息完整性,字段是否缺失,是否有异常数据。结果用于反馈给前端开发,检查日志抓取业务是否有问题。点击跳转1-3实时检索Kafka、Flink、HBase、ESXX银行券币实时检索案例海量钞票图片检索点击跳转1-4实时检索Fiber、PhoenixXX银行文件数据存储业务场景(Phoenix高效批量插入)生产场景是之一是:每分钟一个文件,一个文件65431条数据。后期业务的数据量还会成2-3倍增加(因为性能不能满足后期业务,目前没有把表往phoenix进行迁移)。点击跳转1-5实时检索HBase公安户籍系统数据库迁移使用BulkLoad 向 HBase 中批量导入数据点击跳转2-1实时流处理Flume、Kafka、FlinkRedis、HDFS、Hive、Spark数字物流平台实时记录快递到达各个站点信息,保存历史数据供后续分析点击跳转2-2实时流处理Kafka、Redis、Flink、HBase物联网实时数据采集系统通过kafka获取实时仪器设备采集数据,与Redis中缓存的设备信息做关联后保存到HBase中点击跳转2-3实时流处理Kafka通过python语言读写kafka点击跳转2-4实时流处理Flink、HBaseFlink写入跨集群HBase案例点击跳转2-5实时流处理Flume、Kafka、SparkStreamingESXX银行APP精准推荐业务的实时检索案例点击跳转2-6实时流处理Kafka、SparkStreaming、HBasexx公司数据监控案例xx公司需要对公司的某些敏感数据进行监控,将监控数据进行计算分组后进行存储,对实时性要求比较高,bulkload数据入库点击跳转3-1离线批处理HDFS、Spark、ES车辆信息批量入库案例通过python语言实现Spark应用开发点击跳转3-2离线批处理Spark、HBase消费信息入库使用Spark读取HBase数据,处理完毕后写入HBase点击跳转3-3离线批处理Spark商品营销推广分析商品销售过程中,我们需要基于以往的商品销售日志深挖出更多的有用信息,例如哪些人是我们的优质客户,我们该给哪些人发放我们的优惠券,我们该给哪些人发送广告点击跳转特性介绍篇特性:Ranger视频标题链接V001 Ranger简介https://v.qq.com/x/page/z32198yz3q8.htmlSpring与Hadoop组件集成案例标题链接spring-kafka对接安全和非安全kafka集群案例https://bbs.huaweicloud.com/forum/thread-101557-1-1.htmlspring-data-redis对接非安全redis集群案例https://bbs.huaweicloud.com/forum/thread-105351-1-1.htmlSpringBoot对接ElasticSearch案例https://bbs.huaweicloud.com/forum/thread-106571-1-1.htmlSpring集成访问FusionInsighthttps://bbs.huaweicloud.com/forum/thread-133468-1-1.htmlPython3对接 FusionInsight HD组件案例标题组件说明linux环境python3连接安全集群HDFSHDFS连接的是HDFS的webhdfs接口,走HTTP协议https://bbs.huaweicloud.com/forum/thread-116086-1-1.html使用python库confluent_kafka连接安全集群KafkaKafkaconfluent_kafkahttps://bbs.huaweicloud.com/forum/forum.php?mod=viewthread&tid=102610使用python连接有kerberos认证的kafka指导Kafka使用的依赖和上面的不一样,这个是 kafka-pythonpython连接redis集群案例Redis非安全集群的Redis或者安全集群中未开启安全认证的Redishttps://bbs.huaweicloud.com/forum/forum.php?mod=viewthread&tid=97329pyspark读写Hive案例Spark 、ES在Spark任务中访问Hive表https://bbs.huaweicloud.com/forum/forum.php?mod=viewthread&tid=96535pyspark数据处理完毕后写入ES案例Spark、EShttps://bbs.huaweicloud.com/forum/forum.php?mod=viewthread&tid=96463Elasticsearch组件basic认证以及Python对接ES通过basic认证连接ES的http接口https://bbs.huaweicloud.com/forum/thread-99870-1-1.html
总条数:198 到第
上滑加载中