华为云用户手册

  • 产品简介 容器镜像服务 (SoftWare Repository for Container,简称SWR)是一种支持镜像全生命周期管理的服务, 提供简单易用、安全可靠的镜像管理功能,帮助您快速部署容器化服务。 通过使用容器 镜像服务 ,您无需自建和维护镜像仓库,即可享有云上的镜像安全托管及高效分发服务,并且可配合云容器引擎 CCE、云容器实例 CCI使用,获得容器上云的顺畅体验。 容器镜像服务共享版免费,企业版收费。共享版和企业版的差异详见共享版及企业版对比。企业版的计费项包括购买仓库的费用、制品存储的费用和制品传输流量费用
  • 访问方式 华为云提供了Web化的服务管理平台(即管理控制台)和基于HTTPS请求的API(Application programming interface)管理方式。 API方式 如果用户需要将容器镜像服务集成到第三方系统,用于二次开发,请使用API方式访问容器镜像服务。具体操作请参见《容器镜像服务API参考》。 管理控制台方式 其他相关操作,请使用管理控制台方式访问容器镜像服务。如果用户已在云平台注册,可直接登录管理控制台,从主页选择“容器镜像服务”。 如果未注册,请参考如何注册华为云管理控制台的用户,进行账号注册。
  • 产品功能 镜像全生命周期管理 容器镜像服务支持镜像的全生命周期管理,包括镜像的上传、下载、删除等。 私有镜像仓库 容器镜像服务提供私有镜像库,并支持细粒度的权限管理,可以为不同用户分配相应的访问权限(读取、编辑、管理)。 镜像加速 容器镜像服务通过华为自主专利的镜像下载加速技术,使CCE集群下载镜像时在确保高并发下能获得更快的下载速度。 镜像仓库触发器 容器镜像服务支持容器镜像版本更新自动触发部署。您只需要为镜像设置一个触发器,通过触发器,可以在每次镜像版本更新时,自动更新使用该镜像部署的应用。
  • 安装SDK 使用SDK前,需要安装“HuaweiCloud.SDK.Core”和“HuaweiCloud.SDK.Ocr”,有两种安装方式,分别如下。 使用 .NET CLI 工具 dotnet add package HuaweiCloud.SDK.Core dotnet add package HuaweiCloud.SDK.Ocr 使用 Package Manager Install-Package HuaweiCloud.SDK.Core Install-Package HuaweiCloud.SDK.Ocr
  • 开始使用 导入依赖模块 using System; using System.Collections.Generic; using HuaweiCloud.SDK.Core; using HuaweiCloud.SDK.Core.Auth; using HuaweiCloud.SDK.Ocr; using HuaweiCloud.SDK.Ocr.V1; using HuaweiCloud.SDK.Ocr.V1.Model; 配置客户端连接参数 默认配置 // 使用默认配置 var config = HttpConfig.GetDefaultConfig(); 网络代理(可选) // 根据需要配置网络代理 config.ProxyHost = "proxy.huaweicloud.com"; config.ProxyPort = 8080; config.ProxyUsername = "test"; config.ProxyPassword = "test"; 超时配置(可选) // 默认超时时间为120秒,可根据需要调整 config.Timeout = 120; SSL配置(可选) // 根据需要配置是否跳过SSL证书验证 config.IgnoreSslVerification = true; 配置认证信息 配置AK、SK信息。华为云通过AK识别用户的身份,通过SK对请求数据进行签名验证,用于确保请求的机密性、完整性和请求者身份的正确性。AK、SK获取方法请参见准备工作。 const string ak = Environment.GetEnvironmentVariable("HUAWEICLOUD_SDK_AK"); const string sk = Environment.GetEnvironmentVariable("HUAWEICLOUD_SDK_SK"); var auth = new BasicCredentials(ak, sk); 认证用的 ak 和sk 硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。 本示例以 ak 和 sk 保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 初始化客户端(二选一) 指定云服务region方式(推荐) // 初始化指定云服务的客户端 {Service}Client ,以初始化OCR服务的 OcrClient 为例 var client = OcrClient.NewBuilder() .WithCredential(auth) .WithRegion(OcrRegion.ValueOf("cn-north-4")) .WithHttpConfig(config) .Build(); 指定云服务endpoint方式 // 指定终端节点,以OCR服务北京四的 endpoint 为例 String endpoint = "https://ocr.cn-north-4.myhuaweicloud.com"; // 初始化客户端认证信息,需要填写相应 projectId,以初始化 BasicCredentials 为例 var auth = new BasicCredentials(ak, sk, projectId); // 初始化指定云服务的客户端 {Service}Client,以初始化OCR服务的 OcrClient 为例 var client = OcrClient.NewBuilder() .WithCredential(auth) .WithEndPoint(endpoint) .WithHttpConfig(config) .Build(); endpoint是华为云各服务应用区域和各服务的终端节点,详情请查看 地区和终端节点 。 发送请求并查看响应 // 以调用通用 表格识别 接口 RecognizeGeneralTable 为例 var req = new RecognizeGeneralTableRequest { }; req.Body = new GeneralTableRequestBody() { Url = "图片的url" }; try { var resp = client.RecognizeGeneralTable(req); var respStatusCode = resp.HttpStatusCode; Console.WriteLine(respStatusCode); } 异常处理 表1 异常处理 一级分类 一级分类说明 二级分类 二级分类说明 ConnectionException 连接类异常 HostUnreachableException 网络不可达、被拒绝。 SslHandShakeException SSL认证异常。 RequestTimeoutException 响应超时异常 CallTimeoutException 单次请求,服务器处理超时未返回。 RetryOutageException 在重试策略消耗完成后,仍无有效的响应。 ServiceResponseException 服务器响应异常 ServerResponseException 服务端内部错误,Http响应码:[500,]。 ClientRequestException 请求参数不合法,Http响应码:[400, 500) try { var resp = client.RecognizeGeneralTable(req); var respStatusCode = resp.HttpStatusCode; Console.WriteLine(respStatusCode); } catch (RequestTimeoutException requestTimeoutException) { Console.WriteLine(requestTimeoutException.ErrorMessage); } catch (ServiceResponseException clientRequestException) { Console.WriteLine(clientRequestException.HttpStatusCode); Console.WriteLine(clientRequestException.ErrorCode); Console.WriteLine(clientRequestException.ErrorMsg); } catch (ConnectionException connectionException) { Console.WriteLine(connectionException.ErrorMessage); }
  • 文字识别 SDK概述 文字识别(Optical Character Recognition,简称OCR)将图片或扫描件中的文字识别成可编辑的文本。可代替人工录入,提升业务效率。支持身份证、驾驶证、行驶证、发票、通用表格、通用文字等场景文字识别。 文字识别以开放API(Application Programming Interface,应用程序编程接口)的方式提供给用户,用户通过实时访问和调用API获取推理结果,帮助用户提升业务效率。 文字识别服务软件开发工具包(OCR SDK,Optical Character Recognition Service Software Development Kit)是对OCR服务提供的REST API进行的封装,以简化用户的开发工作。用户直接调用OCR SDK提供的接口函数即可实现使用OCR服务业务能力的目的。 我们针对不同语言的SDK提供了开发指南: 表1 不同语言SDK的开发指南 编程语言 开发指南 Java Java SDK 开发指南 Python Python SDK 开发指南 Node.js Node.js SDK 开发指南 PHP PHP SDK 开发指南 C++ C++ SDK 开发指南 Go Go SDK 开发指南 NET NET SDK 开发指南
  • 操作步骤 进入购买应用网关页面。 参考下表设置参数,参数前面带*号的是必须设置的参数。 参数 说明 *企业项目 选择应用网关所在的项目,可在下拉框中搜索和选择需要的企业项目。 企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。 参考开通企业项目创建并启用新的企业项目后可以使用,默认选择default。 *引擎名称 输入应用网关名称。 产品版本 目前只支持专业版。 *规格 选择实例规格,当前支持规格有:小型、中型、大型和超大型。 可用区 您可根据实际情况选择可用区。 版本 只能创建最新版本。 节点数 选择网关的节点数量,节点数量不少于2个。 *网络 虚拟私有云可以为您的引擎构建隔离的、用户自主配置和管理的虚拟网络环境。 使用已创建的VPC,可在下拉列表中搜索和选择当前账号已创建的虚拟私有云和子网。 使用新的VPC,可单击“控制台”进入“虚拟私有云”页面,创建新的VPC,具体操作请参考创建虚拟私有云和子网。 使用共享VPC,请在下拉列表选择其他账号共享给当前账号的VPC。 共享VPC基于 资源访问管理 (Resource Access Manager,简称 RAM )服务的机制,VPC的所有者可以将VPC内的子网共享给一个或者多个账号使用。通过共享VPC功能,可以简化网络配置,帮助您统一配置和运维多个账号下的资源,有助于提升资源的管控效率,降低运维成本。有关VPC子网共享的更多信息,请参见共享VPC。 说明: 当应用网关创建完成后,不支持变更虚拟私有云。 *弹性负载均衡 选择已创建的弹性负载均衡。 若当前没有可用的弹性负载均衡,可单击“购买弹性负载均衡”进入购买页面购买弹性负载均衡。 说明: 当前仅支持独享型网络型负载均衡器。会使用所选ELB的80、443端口,如果选择的负载均衡器已经占用了部分端口,会创建失败。 ELB被应用网关使用后,为其配置的用于应用网关使用的监听器(即监听器名称中包含应用网关名称)及其关联的后端服务器组和后端服务器均不允许被删除。 标签 用于标识云资源,当您拥有相同类型的许多云资源时,可以使用标签按各种维度(例如用途、所有者或环境)对云资源进行分类。 您可以单击“ 添加标签”,在“添加标签”弹框输入标签键和标签值,添加标签,标签的命名规则请参见管理标签。在“添加标签”弹框,可单击“ 新增标签”同时添加多个标签,也可单击标签后的,删除该标签。 单击“立即购买”,网关开始创建,当“运行状态”为“可用”时,应用网关创建完成。 应用网关创建成功后,“运行状态”为“可用”。查看应用网关状态,请参考查看应用网关信息。
  • 使用限制 单账号跟踪的事件可以通过 云审计 控制台查询。多账号的事件只能在账号自己的事件列表页面去查看,或者到组织追踪器配置的OBS桶中查看,也可以到组织追踪器配置的 CTS /system日志流下面去查看。 用户通过云审计控制台只能查询最近7天的操作记录。如果需要查询超过7天的操作记录,您必须配置转储到 对象存储服务 (OBS),才可在OBS桶里面查看历史文件。否则,您将无法追溯7天以前的操作记录。 云上操作后,1分钟内可以通过云审计控制台查询管理类事件操作记录,5分钟后才可通过云审计控制台查询数据类事件操作记录。
  • 云审计服务支持的 CS E操作列表 CSE通过云审计服务(Cloud Trace Service,简称CTS)为您提供云服务资源的操作记录,记录内容包括您从华为云管理控制台或者API发起的云服务资源操作请求以及每次请求的结果,供您查询、审计和回溯使用。 如果您需要收集、记录或者查询Nacos引擎和ServiceComb引擎的操作日志,需要先开通云审计服务。通过云审计服务可查看Nacos和ServiceComb引擎最近7天的操作记录,支持记录的操作日志见表1和表2。 表1 云审计服务支持的Nacos引擎操作列表 操作类型 资源类型 事件名称 创建引擎 engine CreateEngineJob 删除引擎 engine DeleteEngineJob 创建服务 service createService 修改服务 service modifyService 删除服务 service deleteService 发布配置 config publishConfig 删除配置 config deleteConfig 创建命名空间 namespace createNamespace 修改命名空间 namespace modifyNamespace 删除命名空间 namespace deleteNamespace 表2 云审计服务支持的ServiceComb引擎操作列表 操作类型 资源类型 事件名称 创建引擎 engine createEngine 删除引擎 engine deleteEngine 升级或变更引擎 engine upgradeOrModifyEngine 创建引擎备份任务 engine createEngine_backup 删除引擎备份任务 engine deleteEngine_backup 创建引擎恢复任务 engine createEngine_recovery 创建引擎备份策略 engine createEngine_backup_strategy 删除引擎备份策略 engine deleteEngine_backup_strategy 更新引擎备份策略 engine updateEngine_backup_strategy 更新灰度发布规则 engine ModifyDarklaunch 删除灰度发布 engine DeleteDarklaunch 修改配置项 engine ModifyConfig 新增配置项 engine CreateConfig 删除配置项 engine DeleteConfig 更新治理规则 engine ModifyGovern_policy 更新微服务 engine modifyMicroservice 创建微服务 engine createMicroservice 删除微服务 engine deleteMicroservice 创建微服务标签 engine createMicroserviceTag 更新微服务标签 engine updateMicroserviceTag 删除微服务标签 engine deleteMicroserviceTag 创建微服务规则 engine createMicroserviceRule 更新微服务规则 engine updateMicroserviceRule 删除微服务规则 engine deleteMicroserviceRule 创建微服务契约 engine createMicroserviceSchema 更新微服务契约 engine updateMicroserviceSchema 删除微服务契约 engine deleteMicroserviceSchema 更新微服务依赖关系 engine updateMicroserviceDependency 更新微服务属性 engine updateMicroserviceProperty 更新微服务 engine updateMicroservice 更新监控阈值 engine updateThreshold 更新自定义规则 engine updateItem_meta 删除自定义规则 engine DeleteItem_meta 执行配置项清理 engine executeConfig_cleanup 更新微服务实例状态 engine updateInstanceStatus 更新微服务实例属性 engine updateInstanceProperty 创建微服务实例 engine createInstance 删除微服务实例 engine deleteInstance 父主题: 云审计服务支持的关键动作
  • 设置白名单 登录微服务引擎控制台。 在左侧导航栏选择“注册配置中心”。 单击待查看的Nacos引擎名称,进入Nacos引擎详细信息页面。 只有引擎运行状态为“可用”才可单击引擎名称进入详细信息页面。 在“连接信息”区域,可单击,在“设置访问白名单”弹出框中输入“IP地址/地址段”的值。 可以同时输入多个,有多个白名单请用“,”进行分隔。每个引擎最多可以添加20个IP地址/地址段。 若需修改或删除IP地址/地址段,可在“设置访问白名单”弹出框中修改或删除已有的IP地址/地址段。 若需添加IP地址/地址段,可在“设置访问白名单”弹出框中添加新的IP地址/地址段。 单击“确定”,当引擎状态由“配置中”变成“可用”时,白名单功能生效。
  • Nacos引擎相关概念 概念 说明 命名空间 用于进行租户粒度的配置隔离。命名空间可以实现不同环境的配置的区分隔离,例如开发测试环境和生产环境的资源(如配置、服务)隔离等。 配置集 配置项的集合称为配置集。通常一个配置文件就是一个配置集,包含了系统各个方面的配置。 配置集ID Nacos中的某个配置集的ID。一个系统或者应用可以包含多个配置集,每个配置集都可以被一个名称标识。 分组 Nacos中的一组配置集,是组织配置的维度之一。通过字符串对配置集进行分组,从而区分配置集ID相同的配置集。如果未填写配置分组的名称,则默认为DEFAULT_GROUP 。 保护阈值 保护阈值与集群中健康实例的占比有关。如果健康实例占比小于或等于此值,会触发保护阈值,Nacos会将全部实例(健康实例 + 非健康实例)全部返回给调用者。保护阈值未触发时,Nacos只会把健康实例返回给调用者。 灰度发布 在配置正式发布前可先进行小部分的发布验证,待配置没问题后再正式发布,从而降低配置推送的风险。 权重 实例级别的配置。权重为浮点数。权重越大,分配给该实例的流量越大。 元数据 Nacos数据(如配置和服务)描述信息,如服务版本、权重等,从作用范围来看,可分为服务级别的元信息、集群的元信息及实例的元信息。
  • 通用概念 概念 说明 微服务 微服务是业务概念,即提供某种服务的某个进程。 每一个服务都具有自主运行的业务功能,对外开放不受语言限制的API (最常用的是HTTP)。 多个微服务组成应用程序。 实例 一个微服务的最小运行和部署单元,通常对应一个应用进程。同一个微服务通过部署在多个容器或虚机,可以实现多个实例同时运行。 配置 微服务场景中的配置是指对程序代码中某些变量的取值控制。比如,动态配置就是通过在微服务运行过程中对某些变量的取值进行动态变更。
  • 应用网关相关概念 概念 说明 域名 通过域名管理不同域名下的协议、证书、路由配置。支持完整域名(如:www.hello.com、三级及以上域名模糊(如:*.hello.io))。 协议 协议是一套用于格式化和处理数据的规则,支持的协议有HTTP和HTTPS。 服务来源 支持Nacos、ServiceComb引擎作为服务来源。将注册了服务的CSE Nacos引擎和ServiceComb引擎添加到网关服务来源中,以便网关能够动态获取您的服务列表。 目标服务 路由转发请求到的服务。 鉴权规则 通过设置鉴权类型、鉴权模式定义的一种规则。 鉴权模式 鉴权模式支持黑名单模式。 黑名单模式 在鉴权规则中,符合条件的需要鉴权,其余不需要鉴权。
  • CSE权限 默认情况下,新建的 IAM 用户没有任何权限,您需要将其加入用户组,并给用户组授予策略,才能使得用户组中的用户获得策略定义的权限,这一过程称为授权。授权后,用户就可以基于策略对云服务进行操作。 CSE资源通过物理区域划分,为项目级服务。授权时,“作用范围”需要选择“区域级项目”,然后在指定区域对应的项目中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则该权限在所有区域项目中都生效。访问CSE时,需要先切换至授权区域。 根据授权精细程度分为角色和策略。 角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。由于华为云各服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。 策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。 如表1所示,包括了CSE的所有系统权限。 表1 CSE系统权限说明 系统角色/策略名称 描述 类别 依赖关系 CSE FullAccess 微服务引擎服务管理员权限。 系统策略 无 CSE ReadOnlyAccess 微服务引擎服务查看权限。 系统策略 无 如果表1所列权限不满足实际需求,可以在这个基础上创建微服务引擎自定义策略。 更多CSE相关功能需要依赖的服务权限,请参见表2所示。 表2 依赖的服务权限 依赖的服务 权限 VPC VPC ReadOnlyAccess ELB ELB ReadOnlyAccess AOM AOM ReadOnlyAccess TMS TMS ReadOnlyAccess 表3列出了微服务引擎常用操作与系统权限的授权关系,您可以参照该表选择合适的系统权限。 表3 常用操作与系统权限之间的关系 操作 CSE ReadOnlyAccess CSE FullAccess 创建微服务引擎 x √ 维护微服务引擎 x √ 查询微服务引擎 √ √ 删除微服务引擎 x √ 创建微服务 x √ 查询微服务 √ √ 维护微服务 x √ 删除微服务 x √ 创建微服务配置 x √ 查询微服务配置 √ √ 编辑微服务配置 x √ 删除微服务配置 x √ 创建微服务治理策略 x √ 查询微服务治理策略 √ √ 编辑微服务治理策略 x √ 删除微服务治理策略 x √
  • 测试模型 workload模型 表2 测试模型 测试模型编号 测试模型 workload-read(单行读) 100% read workload-insert(单行写) 100% insert workload-range-read(范围读) 100% range read 预置数据量 本次性能测试中,针对每种规格的实例,都预置了20亿条数据,每条数据有20个字段,每个字段大小为20Bytes。
  • 操作步骤 登录管理控制台。 在“实例管理”页面,单击“购买数据库实例”。 在“服务选型”页面,选择计费模式,填写并选择实例相关信息后,单击“立即购买”。 图1 计费模式和基本信息 表1 计费方式 参数 描述 计费模式 目前仅支持按需计费模式。 用户选购完服务配置后,无需设置购买时长,系统会根据消费时长对账户余额进行扣费。 表2 基本信息 参数 描述 区域 租户所在的区域。 须知: 请就近选择靠近您业务的区域,可减少网络时延,提高访问速度。不同区域内的产品内网不互通,且购买后不能更换,请谨慎选择。 实例名称 设置实例名称时,需要满足如下规则。 实例名称允许和已有名称重复。 实例名称长度在4个到64个字节之间,必须以字母或中文字开头,区分大小写,可以包含字母、数字、中划线、下划线或中文(一个中文字符占用3个字节),不能包含其他特殊字符。 兼容接口 HBase 实例类型 集群 版本 3.11 可用区 指在同一区域下,电力、网络隔离的物理区域,可用区之间内网互通,不同可用区之间物理隔离。 图2 规格与存储 表3 规格与存储 参数 描述 性能规格 CPU规格越高,性能越好。请根据实际业务场景,选取符合业务类型的性能规格。 节点数量 节点数量可选择范围为3~21,请根据实际需要进行选取。 存储空间 存储空间的取值范围(最大值和最小值)与所选的实例规格有关 调整存储空间容量时,选择容量大小必须为整数,且至少需选择1GB的扩容量。 图3 网络配置 表4 网络配置 参数 描述 虚拟私有云 实例所在的 虚拟专用网络 ,可以对不同业务进行网络隔离。您可根据需要创建或选择所需的虚拟私有云。 如果没有可用的VPC,系统自动为您分配资源。 如何创建VPC,请参见《虚拟私有云用户指南》中的“创建虚拟私有云基本信息及默认子网”。 您还可以通过共享VPC功能,使用其他账号共享的VPC和子网。 共享VPC是基于资源访问管理(Resource Access Manager,简称RAM)服务的机制,VPC的所有者可以将VPC内的子网共享给其他账号使用,以实现网络资源的共享和统一管理,提升资源管控效率、降低运维成本。 有关VPC子网共享的更多信息,请参见《虚拟私有云用户指南》的“共享VPC”相关内容。 说明: 目前实例创建完成后不支持切换 虚拟私有云VPC ,请谨慎选择所属虚拟私有云。 如需与ECS进行内网通信,实例与需要通信的ECS需要处于同一个虚拟私有云下,或者不同虚拟私有云之间配置对等连接。 子网 通过子网提供与其他网络隔离的、可以独享的网络资源,以提高网络安全。 说明: 目前不支持选择IPV6网段的子网,建议您在使用时创建并选择IPV4网段的子网。 内网安全组 安全组限制安全访问规则,加强与其他服务间的安全访问。请确保所选取的安全组允许客户端访问数据库实例。 如果没有可用的安全组,系统自动为您分配资源。 图4 数据库配置 表5 数据库配置 参数 描述 管理员账户名 管理员账户名默认为rwuser。 管理员密码 用户设置的密码。 长度为8~32个字符。 必须是大写字母、小写字母、数字、特殊字符的组合,其中可输入特殊字符~!@#%^*-_=+?。 系统会进行弱密码校验,安全起见,请输入高强度密码。 请妥善管理您的密码,因为系统将无法获取您的密码信息。 确认密码 必须和管理员密码一致。 企业项目 该参数针对企业用户使用。 企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理,默认项目为default。 请在下拉框中选择所在的企业项目。更多关于企业项目的信息,请参见《企业管理用户指南》。 参数模板 数据库参数模板就像是数据库引擎配置值的容器,参数模板中的参数可应用于一个或多个相同类型的数据库实例。实例创建成功后,参数模板可进行修改。 用户可以在实例创建完成之后根据业务需要进行调整。 SSL安全连接 SSL证书是一种遵守SSL协议的服务器数字证书,能在客户端和服务器端之间建立加密通道,保证数据在传输过程中不被窃取或篡改。 您可以开启SSL连接,提高数据安全性。 说明: 如果您在创建实例时未开启SSL安全连接,可以待实例创建成功后开启,操作详情请参见设置SSL 数据加密 。 表6 标签 参数 描述 标签 可选配置,对GeminiDB HBase的标识。使用标签可以方便识别和管理您拥有的GeminiDB HBase资源。 每个实例默认最多支持20个标签配额。 如您的组织已经设定GeminiDB HBase的相关标签策略,则需按照标签策略规则为实例添加标签。标签如果不符合标签策略的规则,则可能会导致实例创建失败,请联系组织管理员了解标签策略详情。 标签由标签“键”和标签“值”组成。 键:如果要为数据库实例添加标签,该项为必选参数。 对于每个实例,每个标签的键唯一。长度不超过128字符,只能包含数字(0-9)、英文字母(A-Z,a-z)、下划线(_)、点(.)、连接符(-)和中文。 值:如果要为数据库实例添加标签,该项为可选参数。 长度不超过255个字符,只能包含数字(0-9)、英文字母(A-Z,a-z)、下划线(_)、点(.)、连接符(-)和中文。 在“订单详情确认”页面,核对实例信息。 如果需要修改,单击“上一步”,修改实例信息。 核对无误后,勾选协议,单击“提交”,开始创建实例。 在“实例管理”页面,您可以查看并管理实例。 实例创建过程中,运行状态显示为“创建中”。 实例创建完成后,运行状态显示为“正常”。 如果页面长时间未刷新,您可以单击页面右上角的刷新页面查看实例运行状态。 创建实例时,系统默认开启自动备份策略。因此,实例创建成功后,系统会自动创建一个全量备份。 实例创建完成后,在“实例管理”页面的兼容接口列显示“Cassandra 3.11.3”,实际为兼容HBase的Cassandra接口,使用与HBase无差异,可放心使用。
  • 测试数据 不同测试模型下,不同规格且预置相当数据量,测试的OPS*数据(表格中黑色字体),详见表1 测试数据中加粗内容。 表1 测试数据 实例类型 数据量 业务性能-吞吐量(QPS) 业务性能-P99时延ms 单行写 单行读 范围读 单行写 单行读 范围读 GeminiDB HBase实例 20亿 142154 95254 589050 3.5 8.5 19 开源HBase实例 20亿 139723 18931 63350 3.9 301 834 OPS:Operation Per Second,数据库每秒执行的操作数。 测试模型编号:测试模型编号对应的测试模型,请参见表2 测试模型。 父主题: 性能白皮书
  • GeminiDB HBase 接口兼容性列表 GeminiDB HBase目前暂不支持集群运维与管理相关接口。如果有实例级别操作需求如重启等,可以使用控制台相关功能。 表1 接口功能分类 接口 功能 是否支持 数据接口 Get Get:单行查询。 是 Filter:服务端过滤。 是 Consistency:数据强一致。 是 Versions:多版本查询。 是 Put Put:单行插入。 是 Condition:条件插入。 是 TTL:过期数据自动删除。 即将上线 Versions:多版本写入。 即将上线 Delete Delete:单行全部删除。 是 Delete:指定ColumnFamily/Qualifier删除。 是 Versions:多版本删除。 即将上线 Scan Scan:全量扫描。 是 Scan:指定start/stop行进行扫描。 是 TimeRange:过滤时间范围。 是 Filter:过滤指定cf/qf。 是 Versions:多版本查询。 即将上线 Increment 普通Increment操作。 规划中 Append 普通Append操作。 规划中 Bulk Load 从文件批量导入数据。 规划中 元数据操作 Table Create:普通创表操作。 是 SplitKey:创表同时指定。 是 Region:自动分裂。 规划中 Disable/Delete:禁用/删表。 是 Compress:指定压缩算法(已自带数据压缩)。 暂无规划 Alter Table:增加ColumnFamily。 规划中 Alter Table:减少ColumnFamily。 规划中 集群管理接口 运维侧关注,客户无需关注。 Namespace 创建/删除Namespace。 是 其他参数指定。 暂无规划 额外支持 Coprocessor 支持自定义插件 暂无规划 二级索引 需要Column内容支持用户多样化查询 规划中 父主题: HBase协议兼容版实例
  • 查看实例IP地址 登录管理控制台。 在“实例管理”页面,单击目标实例名称,进入基本信息页面。 方法一: 在“基本信息”页面下方节点信息列表中,即可查看到GeminiDB HBase实例下各个节点的内网IP地址。 GeminiDB HBase实例目前不支持绑定公网IP。 图1 查看IP地址 在网络信息区域可以查看到GeminiDB HBase实例的端口,界面显示默认为8635,实际使用的默认端口为2181。 图2 查看端口 方法二: 您也可以单击实例“基本信息”左侧导航中的“连接管理”,即可查看到实例的内网IP地址和端口。 图3 查看IP和端口
  • 使用须知 删除操作无法恢复,请谨慎操作。 删除节点时,您可以联系客服,选择1s到5min的节点连接时间(节点连接时间适用于所有节点),断开长连接。 如果搭建双活关系,不允许在主实例和备实例同时进行添加节点、删除节点和规格变更操作。 开启操作保护的用户,在进行敏感操作时,通过进行二次认证再次确认您的身份,进一步提高账号安全性,有效保护您安全使用云产品。关于如何开启操作保护,具体请参考《 统一身份认证 服务用户指南》的内容。
  • 应用场景 频控场景 频控指的是对用户在一定时间内(例如一天、一周、一个月)进行某种操作的次数进行限制,可以控制特定广告或信息在一定时间内在特定平台上的展示次数,以避免过度曝光和广告疲劳,同时优化广告效果和用户体验;对于广告来说,也可以提高广告的效果和转化率。此外,频控还可以避免恶意行为,如刷流量、刷评论、刷点赞等。 频控的3个要素包含用户ID、广告ID、触发次数;以用户ID为key,广告ID为field,指定时间内的触发次数为value,恰好构成频控的三要素。先配置好各个广告的指定频控策略,如下图所示即可根据如下的方式来实现频控: 图1 频控Hash方案 最左边通过Hash类型来实现,通过expire命令设置User_1的过期时间为一天,每推送一次通过hincrby来增加指定广告的推送次数,每次推送指定广告前在一天内的推送次数则可以通过hget获取进行判断,一天后该用户的数据自动过期无需手动清理,这样便可以简单地实现频控。但这个方案的缺点在于对于每个用户(即每个key)只能设置一个过期时间,无法做到例如8小时3次这样指定时间段内的灵活的频控策略。 为了做到对每个广告都配置指定时间段内的灵活频控,如中间图所示可以通过将时间戳拼接在value里的方式用Hash类型来实现,但这种方案无疑是增加了业务侧开发的工作量。 如最右图所示,支持给field设置过期时间的exHash类型可以很完美地解决Hash类型面对频控场景的缺点。由于Field支持过期时间设置,那么该场景下,平台可以给每个广告都配置不同时间段内的频次要求,假设此时给AD_2配置的频控策略为8小时内2次,那么如图所示在下一次再准备给User_1推送AD_2广告前,先通过exhget User_1 AD_2命令获取到了该值已经是2时,便可以判断出此时根据平台频控策略,不应该再给User_1推送AD_2广告了。而当8小时一过,User_1的AD_2这个field过期后,exhget无法再获取到这个field的信息,则可以继续给User_1推送AD_2广告了。 购物车场景 双十一期间,相信很多同学购物车里都填满了各种想要清空的宝贝,这里就以购物车场景为例介绍该场景的几种不同Redis类型的实现,并比较这几种实现方案的优缺点。 基于String实现购物车功能 如图图2所示,基于String可以轻松地实现各个用户的购物车功能,该方案需要将用户ID与商品ID进行拼接作为key,例如User_1#Earphones_1,key对应的value为购物车中用户准备购买的数量,其中可能有部分商品为限时特购,所以有过期时间,为key对应的过期时间。 图2 String方案 涉及命令如下: incrby User_N#Product_N [Number] # 增加商品数量 set User_N#Product_N [Number] # 设置商品数量 expire User_N#Product_N Time_N # 设置指定用户购物车中指定物品的过期时间 get User_N#Product_N # 获取商品数量 scan 0 match User_N* # 查找所有User_N下的所有商品 del User_N#Product_N # 删除指定用户购物车中的指定商品 该方案会存在如下问题: 额外拼接增加编、解码开发工作量。 某个用户获取自己的购物车清单时还需要通过scan命令前缀匹配扫描所有key,并通过get命令去获取对应的值。 想要直接获取清单长度时,仍然需要遍历整个前缀key的数目,方法复杂。 存在大量重复的用户名前缀,浪费存储空间。 基于Hash实现购物车功能 可以根据如图3所示的Hash类型来实现购物车的管理,用户ID作为key,商品ID作为field,value为购物车中对应商品的数量。其中对于部分限时特购的商品,其过期时间通过拼接的方式放到field对应的value里。 图3 Hash方案 涉及命令如下: hset User_N Product_N [Number#Time_N] # 设置指定用户购物车中指定商品的数量和过期时间 hincrby User_N Product_N [Number] # 增加指定用户购物车中的指定商品数量 hgetUser_N Product_N # 获取指定用户购物车中指定商品的信息 hgetall User_N # 获取指定用户的所有商品信息 hlen User_N # 获取指定用户购物车中的总商品数量 hdel User_N Product_N # 删除指定用户购物车中的指定商品 该方案相对于String类型的方案有了不少优化: 获取某个用户购物车中的所有商品清单仅需要一个hgetall命令即可。 获取某个用户的清单长度时直接hlen获取即可。 不存在大量重复的用户名前缀问题。 然而该方案仍存在一个明显的缺点,即对于部分限时特购的商品处理起来复杂:对于User_1的Keyboard_1商品,如果要再加一个数量,不能直接使用hincrby,而是需要先hget获取Keyboard_1商品的值并解码,再加上指定的数量再编码后hset对应的值。 基于exHash实现购物车功能 根据如图4所示的exHash类型来实现购物车的管理,同Hash类型一样,用户ID作为key,商品ID作为field,value为购物车中对应商品的数量。其中对于部分限时特购的商品,由于exHash类型可以为Field设置过期时间,其过期时间可通过hset命令直接设置。 图4 exHash方案 涉及命令如下: exhset User_N Product_N ex Time_N # 设置指定用户购物车中指定商品的数量和过期时间 exhincrby User_N Product_N [Number] keepttl # 增加指定用户购物车中的指定商品数量,保留原先过期时间exhget User_N Product_N # 获取指定用户购物车中指定商品的信息 exhgetall User_N # 获取指定用户的所有商品信息 exhlen User_N # 获取指定用户购物车中的总商品数量 exhdel User_N Product_N # 删除指定用户购物车中的指定商品 del User_N # 清空指定用户的购物车 该方案相对于Hash类型的优化主要体现在可以直接为各field设置过期时间,使业务侧使用起来简单又高效。可以看到exHash类型相关的命令和Hash类型是类似的,使用起来学习成本很低,业务侧改造成本相对也比较低。
  • GeminiDB Redis各版本的生命周期规划 在正式EOM/EOS前会发布公告,在此期间客户可以通过 数据复制服务 将版本在EOS之前切换到高版本。 EOM:End of Marketing,停止该版本的销售。 EOS:End of Service & support,停止该版本的服务,建议您在执行作业时选择最新版本的引擎。在该日期之后,不再提供该软件版本的任何技术服务支持。 表1 GeminiDB Redis各版本生命周期规划表 版本 当前状态 华为云商用时间 计划EOM时间 计划EOS时间 5.0 已商用 2021年6月 2026年12月 2027年12月 6.2 已商用 2024年3月 2027年12月 2028年12月
  • 如何选择接口 不同接口的适用场景及功能存在差异,您可以根据业务需要选择接口产品。 表1 场景说明 接口名称 兼容接口 使用场景 说明 GeminiDB Redis接口 兼容Key-Value接口:Redis GeminiDB提供高并发、低延迟业务访问。具备极致弹性扩缩容能力,从容应对业务高峰。常见的用户场景包括游戏、广告RTA、推荐系统、电商、教育等。 GeminiDB Redis是一款100%兼容Redis协议的弹性KV数据库,支持远超内存的容量和极致的性能。它具有稳定低延迟、高性价比、无需备节点,全主架构、具备4:1超高数据压缩等优势,支持Hash Field过期、布隆过滤器、数据极速导入、内存加速等企业级特性。 GeminiDB Influx接口 兼容时间序列型接口:InfluxDB GeminiDB Influx接口广泛应用于资源监控,业务监控分析,物联网设备实时监控,工业生产监控,生产质量评估和故障回溯等。 GeminiDB Influx 接口是一款基于华为自研的计算存储分离架构,兼容InfluxDB生态的云原生NoSQL 时序数据库 。提供大并发的时序数据读写,压缩存储和类SQL查询,并且支持多维聚合计算和 数据可视化 分析能力。具有高写入、灵活弹性、高压缩率和高查询等特点。 GeminiDB Cassandra接口 兼容宽列接口:Cassandra,DynamoDB GeminiDB Cassandra接口支持TB级别存储及近百万级QPS,提供强一致性级别,可适配各类应用场景,尤其是大规模集群部署:例如工业制造和气象业、互联网等海量数据存储的场景。 GeminiDB Cassandra 接口 是一款基于华为自研的计算存储分离架构,兼容Cassandra生态的云原生NoSQL数据库,支持类SQL语法CQL。具有安全可靠、超强读写、弹性扩展、便捷管理等特点。 GeminiDB Mongo接口 兼容文档型接口:MongoDB GeminiDB Mongo接口近百万级QPS,开源3倍性能提升,支持存海量文档、图片、IoT/车联网数据、社交视频/语音等,适用于互联网、物联网、游戏、金融等领域。 GeminiDB Mongo 接口是一款基于华为自研的计算存储分离架构,兼容MongoDB生态的云原生NoSQL数据库。具有企业级性能、灵活弹性、高可靠、可视化管理等特点。
  • 已申请权限,但是仍然没有权限操作 检查IAM和ACMS是否属于应用平台Console的同一个站点,需要在哪个站点操作ACMS,就通过该站点的应用平台Console进入IAM申请权限。 如果站点一致,则检查ACMS管理台上的自有服务和IAM里有权限的自有服务是否一致。自有服务下,必须有“服务敏感数据研发管理岗位”。 如果上述检查正确,但仍然没有权限,那么重新登录,再回到ACMS管理台,查看是否有权限。 如果重新登录后依然没有权限,在ACMS管理台,按F12,打开工作台,刷新页面,找到findUserPolicies,在响应中搜索是否存在SecurityTokenService_SDM。 如果不存在,就是没有申请权限,如果缺少SecurityTokenService_SDM,就需要申请自有服务的 ”敏感数据研发管理岗位“。 如果存在,但页面上依然报错,则找支撑人员定位,将站点名称、定位过程、findUserPolicies中的响应内容,提供给支撑人员。 父主题: 运行时引擎访问凭据管理服务
  • 解决方法 执行如下两条命令。 grep "^[ \t]*include" /opt/huawei/openresty/nginx/conf/nginx.conf|grep -v "include mime.types;"|grep -v "'lua/nginx.http.lua.conf'"|grep -v "include vhosts/"|grep -v "include slb_conf/" find /opt/huawei/openresty/nginx/conf/vhosts/ -type f|xargs grep "^[ \t]*include"|grep -v "include geoip.txt;"|grep -v "include geoip_country.txt;"|grep -v "include vhosts/" 根据以上两条命令的结果进行调整(将出现的内容注释掉),然后重新部署即可。
  • 解决方法 登录SLB实例主机,执行命令su os用户切换业务账号,然后执行以下命令: openssl req -new -newkey rsa:2048 -days 3650 -sha256 -nodes -x509 \-subj '/CN=dummy' \-keyout /opt/huawei/openresty/nginx/conf/ssl/dummy.key \-out /opt/huawei/openresty/nginx/conf/ssl/dummy.pem
  • 问题现象 SLB部署失败,日志详细信息提示如下: "cannot access /opt/huawei/openresty/nginx/conf/ssl/sample/resty-auto-ssl-fallback.pem. Permission denined" "cannot access /opt/huawei/openresty/nginx/conf/ssl/sample/resty-auto-ssl-fallback.key. Permission denined"
  • 解决方法 登录SLB实例主机,先执行启动命令/opt/huawei/openresty/init.d/nginx start,确认nginx启动失败的原因,可能是以下两种: 版本选装错误 图1 版本选装错误 解决方法:登录SLB实例主机,执行cat /proc/version,查看环境系统,SLB分为ARM、X86两个版本,界面上部署时需要选择与环境系统一样的包。 系统参数配置不正确 部署完之后,启动时提示参数不正确。 图2 参数配置不正确 解决方法:重新配置参数,参照参数配置不正确。
  • 解决方法 登录SLB实例主机,执行以下几条命令,先将找到的html文件注释掉,然后部署。 grep "^[ \t]*root" /opt/huawei/openresty/nginx/conf/nginx.conf|grep " /opt/huawei/openresty/"|grep -v " /opt/huawei/openresty/nginx/html/"|grep -v " /opt/huawei/openresty/nginx/html;" grep "^[ \t]*root" /opt/huawei/openresty/nginx/conf/nginx.conf|grep -v " /"|grep -v " html/"|grep -v " html;" find /opt/huawei/openresty/nginx/conf/vhosts/ -type f|xargs grep "^[ \t]*root"|awk -F ":" '{print $2}'|grep " /opt/huawei/openresty/"|grep -v " /opt/huawei/openresty/nginx/html/"|grep -v " /opt/huawei/openresty/nginx/html;" find /opt/huawei/openresty/nginx/conf/vhosts/ -type f|xargs grep "^[ \t]*root"|awk -F ":" '{print $2}'|grep -v " /"|grep -v " html/"|grep -v " html;" grep "^[ \t]*alias" /opt/huawei/openresty/nginx/conf/nginx.conf|grep " /opt/huawei/openresty/"|grep -v " /opt/huawei/openresty/nginx/html/"|grep -v " /opt/huawei/openresty/nginx/html;" grep "^[ \t]*alias" /opt/huawei/openresty/nginx/conf/nginx.conf|grep -v " /"|grep -v " html/"|grep -v " html;" find /opt/huawei/openresty/nginx/conf/vhosts/ -type f|xargs grep "^[ \t]*alias"|awk -F ":" '{print $2}'|grep " /opt/huawei/openresty/"|grep -v " /opt/huawei/openresty/nginx/html/"|grep -v " /opt/huawei/openresty/nginx/html;" find /opt/huawei/openresty/nginx/conf/vhosts/ -type f|xargs grep "^[ \t]*alias"|awk -F ":" '{print $2}'|grep -v " /"|grep -v " html/"|grep -v " html;"
  • 解决方法 系统参数修改 登录SLB实例主机,执行命令vim /etc/sysctl.conf,加入以下三行: fs.file-max = 1024000 fs.nr_open = 1048576 net.ipv4.ip_local_port_range = 1024 65535 执行命令/sbin/sysctl -p,刷新sysctl.conf文件。 执行命令vim /etc/security/limits.conf,加入以下两行: * soft nofile 1024000 * hard nofile 1024000 执行命令,su os用户,执行ulimit -n查看使limits.conf生效。
共100000条