华为云用户手册

  • 结构 Spark的架构如图1所示,各模块的说明如表1所示。 图1 Spark架构 表1 基本概念说明 模块 说明 Cluster Manager 集群管理器,管理集群中的资源。Spark支持多种集群管理器,Spark自带的Standalone集群管理器、Mesos或YARN。Spark集群默认采用YARN模式。 Application Spark应用,由一个Driver Program和多个Executor组成。 Deploy Mode 部署模式,分为cluster和client模式。cluster模式下,Driver会在集群内的节点运行;而在client模式下,Driver在客户端运行(集群外)。 Driver Program 是Spark应用程序的主进程,运行Application的main()函数并创建SparkContext。负责应用程序的解析、生成Stage并调度Task到Executor上。通常SparkContext代表Driver Program。 Executor 在Work Node上启动的进程,用来执行Task,管理并处理应用中使用到的数据。一个Spark应用一般包含多个Executor,每个Executor接收Driver的命令,并执行一到多个Task。 Worker Node 集群中负责启动并管理Executor以及资源的节点。 Job 一个Action算子(比如collect算子)对应一个Job,由并行计算的多个Task组成。 Stage 每个Job由多个Stage组成,每个Stage是一个Task集合,由DAG分割而成。 Task 承载业务逻辑的运算单元,是Spark平台上可执行的最小工作单元。一个应用根据执行计划以及计算量分为多个Task。
  • 简介 Spark是基于内存的分布式计算框架。在迭代计算的场景下,数据处理过程中的数据可以存储在内存中,提供了比MapReduce高10到100倍的计算能力。Spark可以使用HDFS作为底层存储,使用户能够快速地从MapReduce切换到Spark计算平台上去。Spark提供一站式数据分析能力,包括小批量流式处理、离线批处理、SQL查询、数据挖掘等,用户可以在同一个应用中无缝结合使用这些能力。Spark2x的开源新特性请参考Spark2x开源新特性说明。 Spark的特点如下:
  • 产品优势 MRS服务拥有强大的Hadoop内核团队,基于华为FusionInsight大数据企业级平台构筑。历经行业数万节点部署量的考验,提供多级用户SLA保障。 MRS具有如下优势: 高性能 MRS支持自研的CarbonData存储技术。CarbonData是一种高性能大数据存储方案,以一份数据同时支持多种应用场景,并通过多级索引、字典编码、预聚合、动态Partition、准实时数据查询等特性提升了IO扫描和计算性能,实现万亿数据分析秒级响应。同时MRS支持自研增强型调度器Superior,突破单集群规模瓶颈,单集群调度能力超10000节点。 低成本 基于多样化的云基础设施,提供了丰富的计算、存储设施的选择,同时计算存储分离,提供了低成本海量数据存储方案。MRS可以按业务峰谷,自动弹性伸缩,帮助客户节省大数据平台闲时资源。MRS集群可以用时再创建、用时再扩容,用完就可以删除、缩容,确保低成本。 高安全 MRS服务拥有企业级的大数据多租户权限管理能力,拥有企业级的大数据安全管理特性,支持按照表/按列控制访问权限,支持数据按照表/按列加密。 易运维 MRS提供可视化大数据集群管理平台,提高运维效率。并支持滚动补丁升级,可视化补丁发布信息,一键式补丁安装,无需人工干预,不停业务,保障用户集群长期稳定。 高可靠 MRS服务经过大规模的可靠性、长稳验证,满足企业级高可靠要求,同时支持数据跨AZ/跨Region自动备份的数据容灾能力,自动反亲和技术,虚拟机分布在不同物理机上。
  • 产品架构 MRS集群各版本组件情况请参见MRS组件版本一览表。 MRS逻辑架构如图1所示。 图1 MRS架构 MRS架构包括了基础设施和大数据处理流程各个阶段的能力。 基础设施 MRS基于华为云弹性云服务器ECS构建的大数据集群,充分利用了其虚拟化层的高可靠、高安全的能力。 虚拟私有云(VPC)为每个租户提供的虚拟内部网络,默认与其他网络隔离。 云硬盘(EVS)提供高可靠、高性能的存储。 弹性云服务器(ECS)提供的弹性可扩展虚拟机,结合VPC、安全组、EVS数据多副本等能力打造一个高效、可靠、安全的计算环境。 数据采集 数据采集层提供了数据接入到MRS集群的能力,包括Flume(数据采集)、Loader(关系型数据导入)、Kafka(高可靠消息队列),支持各种数据源导入数据到大数据集群中。使用云数据迁移云服务也可以将外部数据导入至MRS集群中。 数据存储 MRS支持结构化和非结构化数据在集群中的存储,并且支持多种高效的格式来满足不同计算引擎的要求。 HDFS是大数据上通用的分布式文件系统。 OBS是对象存储服务,具有高可用低成本的特点。 数据融合处理 MRS提供多种主流计算引擎:MapReduce(批处理)、Tez(DAG模型)、Spark(内存计算)、SparkStreaming(微批流计算)、Storm(流计算)、Flink(流计算),满足多种大数据应用场景,将数据进行结构和逻辑的转换,转化成满足业务目标的数据模型。 基于预设的数据模型,使用易用的SQL数据分析,用户可以选择Hive(数据仓库),SparkSQL以及Presto交互式查询引擎。 数据呈现调度 用于数据分析结果的呈现,并与数据治理中心DataArts Studio集成,提供一站式的大数据协同开发平台,帮助用户轻松完成数据建模、数据集成、脚本开发、作业调度、运维监控等多项任务,可以极大降低用户使用大数据的门槛,帮助用户快速构建大数据处理中心。 集群管理 以Hadoop为基础的大数据生态的各种组件均是以分布式的方式进行部署,其部署、管理和运维复杂度较高。 MRS集群管理提供了统一的运维管理平台,包括一键式部署集群能力,并提供多版本选择,支持运行过程中集群在无业务中断条件下,进行扩缩容、弹性伸缩。同时MRS集群管理还提供了作业管理、资源标签管理,以及对上述数据处理各层组件的运维,并提供监控、告警、参数配置、补丁升级等一站式运维能力。
  • 首次使用MRS 如果您是首次使用MRS的用户,建议您学习并了解如下信息: 基础知识了解 通过MRS组件介绍和产品功能章节的内容,了解MRS相关的基础知识,包含MRS各组件的基本原理和增强特性介绍,以及MRS服务的特有概念和功能的详细介绍。 入门使用 您可以参考《快速入门》学习并上手使用MRS。《快速入门》提供了样例的详细操作指导,您可以基于此操作指导,创建和使用MRS集群。 使用更多的功能,并查看其相关操作指导 如果您是一个MRS集群使用和运维人员,可以参考用户指南完成集群的生命周期管理、扩缩容以及作业管理等操作。集群中组件的使用指导可以详细参考组件操作指南。 如果您是一个开发者,可以参考MRS提供的开发指南操作指导及样例工程开发并运行调测自己的应用程序。您也可以通过API调用完成MRS集群管理、作业执行等相关操作,您可以参考《API参考》获取详情。
  • 节点标签管理 标签是集群/节点的标识,为集群/节点添加标签,可以方便用户识别和管理拥有的集群/节点资源。MRS服务通过与标签管理服务(TMS)关联,可以让拥有大量云资源的用户,通过给云资源打标签,快速查找具有同一标签属性的云资源,进行统一检视、修改、删除等管理操作,方便用户对大数据集群及其他相关云资源的统一管理。 您可以在创建集群时添加标签,也可以在集群创建完成后,在集群的详情页添加标签,您最多可以给集群添加10个标签。 节点的标签仅支持在节点创建完成后,在节点的标签页添加标签,您最多可以给节点添加10个标签。 父主题: 集群管理
  • MRS集群版本类型 MRS集群版本类型分为普通版与LTS版本,不同版本集群所包含的组件内容及特性略有不同,用户可根据自身业务需求进行选择。 普通版 功能说明 普通版支持集群基础操作如配置、管理和运维等,具体可以查看用户指南。 组件介绍 除共有组件外,普通版集群还支持Presto、Impala、Kudu、Sqoop等组件,可以根据不同集群版本选择不同的组件,具体各版本集群的组件详情可以参考MRS组件版本一览表和组件操作指南。 LTS版 功能说明 LTS版集群除支持集群基础操作外,还提供版本升级能力。如需使用该功能请联系智能数据专家服务。 组件介绍 除共有组件外,LTS版集群还支持HetuEngine、IoTDB等组件,可以根据不同集群版本选择不同的组件,具体各版本集群的组件详情可以参考MRS组件版本一览表和组件操作指南。
  • MRS集群版本选择建议 LTS版集群支持版本升级能力,如果您需要使用版本升级能力,您可以选择购买LTS版集群。 LTS版集群具备多可用区部署能力,可以实现集群可用区级别的容灾。如果您需要MRS集群具备更高的安全性能和容灾能力,您可以选择购买LTS版集群。 LTS版集群支持HetuEngine、IoTDB等组件,如果您需要使用相关组件,您可以选择购买LTS版集群。 由于已购买的LTS版集群无法切换为普通版,请根据需要选择购买。
  • 缩容集群 用户可以根据业务需求量,通过简单的缩减Core节点或者Task节点,对集群进行缩容,以使MRS拥有更优的存储、计算能力,降低运维成本。用户执行MRS集群缩容后,MRS服务将根据节点已安装的服务类型自动选择可以缩容的节点。 Core节点在缩容的时候,会对原节点上的数据进行迁移。业务上如果对数据位置做了缓存,客户端自动刷新位置信息可能会影响时延。缩容节点可能会影响部分HBase on HDFS数据的第一次访问响应时长,可以重启HBase或者对相关的表执行Disable/Enable操作来避免。 Task节点本身不存储集群数据,属于计算节点,不存在节点数据迁移的问题。
  • 部署iDME时,MongoDB连接失败怎么办? 由于CloudPond没有下沉MongoDB服务,因此MongoDB采用自建集群方式。当前支持4.x版本MongoDB,并生成类似于“mongodb://192.168.50.19:27017,192.168.50.20:27017,192.168.50.21:27017”格式的URL。若选择5.x版本,则会提示如下报错。 [cluster-ClusterId{value='6380a0889bcb6f2d7d2ba480',description='null'}-192.168.50.19: 27017] INFO [org.mongodb.driver.cluster: info] [76] - Exception in monitor thread while connecting to server 192.168.50.19:27017com.mongodb.MongoSocketOpenException: Exception opening socket ERROR [o.s.boot.SpringApplication: reportFailure] [830] - Application run failed com.mongodb.MongoSocketReadException: Prematurely reached end of stream
  • 部署iDME时,提示启动时间过长怎么办? 在启动Linux服务器时,由于安全随机数导致的线程阻塞,会使得启动时间过长(半小时左右)。因此在CloudPond启动iDME时,需要将安全随机数生成函数由Windows下的“SecureRandom secureRandom = SecureRandom.getInstanceStrong();”调整为:“SecureRandom secureRandom = SecureRandom.getInstance("NativePRNGNonBlocking");”。 综合后可调整为: SecureRandom secureRandom = null; if (isWindows()) { secureRandom = SecureRandom.getInstanceStrong(); } else if (isLinux()) { secureRandom = SecureRandom.getInstance("NativePRNGNonBlocking"); }
  • 部署iDME后,其接口调用方式是什么? 前缀采用http://${iDME服务器IP地址}/rdm_应用ID_app/services,后缀再拼接需要调用的接口mapping地址。 例如调用获取所有非内部的数据实体模型的接口,采用前缀拼接上后缀“/rdm/basic/api/DataModelManagement/getAllDMEntity”,即调用: “http://${iDME服务器IP地址}/rdm_应用ID_app/services/rdm/basic/api/DataModelManagement/getAllDMEntity”。
  • 入参 { "params":{ "sourceId": XXXX, "targetType":"XXXX", "latestOnly":false } } modifier:处理人 sourceId:源/目标数据模型的ID。 targetType:目标类型。 latestOnly:目标对象是否仅返回源对象关联的最新版本目标对象,默认为false。(仅对M-V模型有效,即返回所有版本)
  • 示例场景 假设有一个源端为RelationLeft,目标端为RelationRight的关系实体(RelationTest)。其中, RelationLeft有两个关系实例,唯一编码为454580805678901111和454580805678902222。 RelationRight有两个关系实例,唯一编码为454580805678903333和454580805678904444。 并创建了如下唯一编码的关系实例: 1313:源端为454580805678901111,目标端为454580805678903333。 2424:源端为454580805678902222,目标端为454580805678904444。 1414:源端为454580805678901111,目标端为454580805678904444。
  • 入参示例 根据源端RelationRight的ID为454580805678901111的关系实例,删除所有符合条件的关系实例。 { "params":{ "sourceId":454580805678901111, "targetType":"RelationRight", "latestOnly":false } }
  • 请求示例 根据方案概述的示例场景,以创建转试产评审基线为例。 POST https://dme.cn-north-4.huaweicloud.com/rdm_fce01234567d41828cf3473b07fa7ae2_app/services/rdm/common/api/BaseLine/create X-AUTH-TOKEN: ABCDEFJ.... { "params": { "name": "转试产", "nameEn": "TurnToTrialProduce", "description": "转试产评审基线", "descriptionEn": "Turn to trial-produce review baseline" } }
  • 响应示例 { "result": "SUCCESS", "data": [ { ...... "id": "553881194513567744", "rdmVersion": 1, "rdmDeleteFlag": 0, "rdmExtensionType": "BaseLine", "tenant": { ...... }, "className": "BaseLine", "descriptionEn": "Turn to trial-produce review baseline", "name": "转试产", "description": "转试产评审基线", "nameEn": "TurnToTrialProduce", "disableFlag": false } ], "errors": [] }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户的token。 表3 请求Body参数 参数 是否必选 参数类型 描述 id 否 Int 唯一编码。 name 否 String 基线对象的名称。 nameEn 否 String 基线对象的英文名称。 description 否 String 基线对象的描述。 descriptionEn 否 String 基线对象的英文描述。 为篇幅起见,这里只展示部分内容。更多参数信息,您可以在全量数据服务进行查看。
  • 响应参数 表4 响应Body参数 参数 参数类型 描述 id Int 唯一编码。 rdmExtensionType String 实体类型。 rdmVersion Integer 系统版本。 className String 实体名称。 name String 基线对象的名称。 nameEn String 基线对象的英文名称。 description String 基线对象的描述。 descriptionEn String 基线对象的英文描述。 disableFlag Boolean 是否锁定。 true:锁定。 false:解锁,默认为false。新建的基线对象默认为解锁状态,如需锁定基线对象,请参见锁定基线对象。 为篇幅起见,这里只展示部分内容。更多参数信息,您可以在全量数据服务进行查看。
  • URI URI格式: GET http://{Endpoint}/rdm_{appID}_app/services/rdm/basic/api/file/downloadFile 参数说明: 表1 URI参数说明 参数 是否必填 参数类型 描述 Endpoint 是 String 承载REST服务端点的服务器域名或IP地址。 appID 是 String 应用ID。 application_id 是 String 应用ID。 attribute_name 是 String 数据模型的属性英文名称。 file_ids 是 String 已上传文件的ID。 如需批量下载文件,多个文件以英文逗号隔开。 例如“file_ids=559100724294721536,559100505549185024”。 instance_id 是 String 数据实例的唯一编码。 is_master_attr 是 String 是否为扩展属性。 0:非扩展属性 1:扩展属性 model_name 是 String 数据模型的英文名称。
  • 请求示例 GET https://dme.cn-north-4.huaweicloud.com/rdm_fce01234567d41828cf3473b07fa7ae2_app/services/rdm/basic/api/file/downloadFile?model_name=Industrial_File&model_number=DM00127281&instance_id=559100827910807552&application_id=c8198a59e15248b6a1a1269075ef5541&is_master_attr=0&attribute_name=file&file_ids=559100724294721536 X-Auth-Token: ABCDEFJ....
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户的token。 X-Dme-Transaction-Task-Id 是 Long 事务型任务ID,即步骤1:创建事务型任务返回的transactionId。 X-Dme-Transaction-Task-No 是 Integer 当前原子接口的执行序号。 表3 请求Body参数 参数 是否必选 参数类型 描述 id 是 Int 唯一编码。 rdmVersion 是 Int 系统版本。 rdmExtensionType 否 String 实体类型。 createTime 否 Date 创建时间。 creator 否 String 创建者。 lastUpdateTime 否 Date 最后更新时间。 modifier 否 String 更新者。 tenant 否 Object 租户。 根据实体类型、功能的不同,请求Body参数不同,您可以在全量数据服务查看实体对应API的具体参数。
  • 请求示例 根据设置的原子接口执行序号,依次执行如下原子接口。 原子接口1: POST https://dme.cn-north-4.huaweicloud.com/rdm_fce01234567d41828cf3473b07fa7ae2_app/services/dynamic/api/ExtDataModel/create X-Auth-Token: ABCDEFJ.... X-Dme-Transaction-Task-Id: 538322343718555649 X-Dme-Transaction-Task-No: 1 原子接口2: POST https://dme.cn-north-4.huaweicloud.com/rdm_fce01234567d41828cf3473b07fa7ae2_app/services/dynamic/api/ExtDataModel/create X-Auth-Token: ABCDEFJ.... X-Dme-Transaction-Task-Id: 538322343718555649 X-Dme-Transaction-Task-No: 2
  • URI URI格式: POST http://{Endpoint}/rdm_{appID}_app/services/dynamic/api/{entityName}/{atomicAPI} 参数说明: 表1 URI参数说明 参数 是否必填 参数类型 描述 Endpoint 是 String 承载REST服务端点的服务器域名或IP地址。 appID 是 String 应用ID。 entityName 是 String 实体的英文名称。 atomicAPI 是 String 实体的原子接口,例如create。
  • 操作场景 在使用应用运行态时,如果您创建的某个逻辑租户后续不再使用,您可以通过调用“数据清理与重置”的“tenant-clean-task”接口,将“type”参数设置为“TENANT_DELETE”,并指定“tenant_id”和“name”参数值,删除指定租户及该租户下的所有实例数据。 删除租户时,会删除该租户下的所有数据,请谨慎操作。 如果您已将数据模型及其实例数据同步至LinkX-F系统,进行此操作后,将无法在LinkX-F系统进行数据模型及其实例数据的更新。 不支持删除唯一编码为“-1”的租户。 执行删除非“-1”的租户操作后,该租户不能再使用。
  • 涉及接口 创建并执行清理数据任务 URI格式:POST http://{Endpoint}/rdm_{appID}_app/services/rdm/basic/api/v1/tenant-clean-task 查询任务执行结果 URI格式:GET http://{Endpoint}/rdm_{appID}_app/services/rdm/basic/api/v1/tenant-clean-task/{id} 重试清理数据任务 URI格式:PUT http://{Endpoint}/rdm_{appID}_app/services/rdm/basic/api/v1/tenant-clean-task/{id} 其中,{endpoint}表示承载REST服务端点的服务器域名或IP地址,{appID}表示应用ID,{id}表示清理数据任务ID。
  • 背景信息 追溯是维护工作的基本能力,维护工作中经常需要通过追溯排查问题、评估风险。 例如追溯出现问题的内存,需要先根据内存批次信息手工转换成采购商SN,然后手工分段查询当前状态,不仅效率低,而且查不到故障件的历史装配关系,出现追溯遗漏。一般情况下,在服务器存储硬件维护中,每周都有2~3次追溯需求。如果采用手工排查方式,计算维护人员、存储维护人员及MQE需要在CMES、悍马等多个系统手工导出数据,涉及十亿级数据量,使用Excel分析,简单的追溯每次至少1天时间;如果追溯的条件复杂( 如18nm内存发货,批次、型号、工艺等组合查询),有时甚至需要1周,且无法保证质量,追溯的需求非常迫切。
  • 示例场景 假设存在如下场景: 维护工程师收到问题单板时,采集其采购商条码和相关器件编码,追溯到涉及器件的DateCode、LotCode,确认问题器件批次等信息。 根据问题器件批次追溯到来料供应商,器件坏件影响的单板、模块以及影响客户、合同,制定应对措施并指导实施。 同时识别同批次器件来料和在库状态,及时做好质量隔离措施。 根据问题单板条码逆向追溯相关硬盘、内存等各种介质对应的供应商SN、批次等,支撑定位出嫌疑介质信息。根据嫌疑介质供应商SN等正向追溯相关硬盘阶段去向(在制在库、理货、发货、逆向退回、报废),及时采取召回、整改等措施将业务影响降到最低。
  • 解决方案 使用数字主线引擎(LinkX Foundation,简称LinkX-F)提供的图谱技术,构建出海量业务数据全关联图谱,可以联接内存的批次、容量、工艺、型号等信息,包括内存所在的父项条码、阶段去向、来料批次号、厂家名称、容量、型号等相关数据。通过多系统超大数据量处理,即可实现快速支撑连续性器件质量追溯一键式分析器件问题影响,有效提升器件质量问题分析处理效率。 在数字主线引擎中,聚合服务是数据服务的基本单位,也是实现业务功能的最小单元。利用聚合服务编排,通过拖拉拽图形化的方式,即可快速生成一个API。将数字主线引擎中开发的API集成到对应的数据查询应用,即可提供按厂家SN、21条码、整机SN等组合内存数据查询、数据导出、导入模板查询统计的能力,产品线硬件维护人员也可通过器件追溯应用对内存数据过滤查询、导出导入数据。利用数字主线引擎,轻松实现百亿级数据分钟级追溯,快速获得如下价值和收益。 计算&数据存储与机器视觉产品维护人员每周2-3次的追溯内存的效率,由原来的N天甚至1周提升到现在的1-10分钟。 支持1000条以内厂家SN、21条码、征集SN的文本输入查询,有效提升易用性。 支持10W+厂家SN、21条码数据查询,10分钟以内返回查询结果,快速高效。
  • 修订记录 发布日期 修改说明 2024-02-23 第十二次正式发布。 修改通过API方式分块上传文件 2023-12-28 第十一次正式发布。 新增基于图形化方式编排API 2023-12-25 第十次正式发布。 新增 重置应用运行态的租户数据 树形结构实践 修改通过事务型任务API实现事务一致性 2023-11-27 第九次正式发布。 修改 文件服务实践 通过反向建模将已有数据库物理表转为iDME模型 2023-10-29 第八次正式发布。 新增锁定基线对象 2023-09-16 第七次正式发布。 新增通过事务型任务API实现事务一致性 2023-06-17 第六次正式发布。 修改 实施步骤 查询接口概述 数据实体查询接口 使用高代码服务编排自定义API 通过iDME应用运行态的多租户能力实现数据的逻辑隔离 通过文件服务功能管理工业文件 2023-05-20 第五次正式发布。 新增 通过文件服务功能管理工业文件 通过基线功能实现历史阶段产品状态的回溯 2023-03-18 第四次正式发布。 新增使用高代码服务编排自定义API 2023-02-18 第三次正式发布。 新增使用搜索服务定义搜索数据 2023-01-15 第二次正式发布。 新增iDME应用的查询接口调用 2023-01-06 第一次正式发布。
共100000条