华为云用户手册

  • CCE集群权限与 IAM RBAC CCE兼容IAM传统的系统角色进行权限管理,建议您切换使用IAM的细粒度策略,避免设置过于复杂或不必要的权限管理场景。 CCE当前支持的角色如下: IAM的基础角色: te_admin(Tenant Administrator):可以调用除IAM外所有服务的所有API。 readonly(Tenant Guest):可以调用除IAM外所有服务的只读权限的API。 CCE的自定义管理员角色:CCE Administrator。 如果用户有Tenant Administrator或者CCE Administrator的系统角色,则此用户拥有Kubernetes RBAC的cluster-admin权限,在集群创建后不可移除。 如果用户为集群创建者,则默认被授权Kubernetes RBAC的cluster-admin权限,此项权限可以在集群创建后被手动移除: 方式1:权限管理 - 命名空间权限 - 移除cluster-creator。 方式2:通过API或者kubectl删除资源,ClusterRoleBinding:cluster-creator。 RBAC与IAM策略共存时,CCE开放API或Console操作的后端鉴权逻辑如下:
  • 系统角色 角色是IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。 IAM中预置的CCE系统角色为CCE Administrator,给用户组授予该系统角色权限时,必须同时勾选该角色依赖的其他策略才会生效,例如Tenant Guest、Server Administrator、ELB Administrator、OBS Administrator、SFS Administrator、SWR Admin、 APM FullAccess。了解更多角色依赖关系,请参考:系统权限。
  • 前提条件 给用户组授权之前,请您了解用户组可以添加的CCE系统策略,并结合实际需求进行选择,CCE支持的系统策略及策略间的对比,请参见CCE系统权限。若您需要对除CCE之外的其它服务授权,IAM支持服务的所有策略请参见系统权限。 拥有Security Administrator(IAM除切换角色外所有权限)权限的用户(如账号默认拥有此权限),才能看见CCE控制台权限管理页面当前用户组及用户组所拥有的权限。
  • 示例流程 图1 给用户授予CCE权限流程 创建用户组并授权。 在IAM控制台创建用户组,并授予CCE权限,例如CCE ReadOnlyAccess。 CCE服务按区域部署,在IAM控制台授予CCE权限时请选择“区域级项目”。 创建用户并加入用户组。 在IAM控制台创建用户,并将其加入1中创建的用户组。 用户登录并验证权限。 新创建的用户登录控制台,切换至授权区域,验证权限: 在“服务列表”中选择云容器引擎,进入CCE主界面尝试购买集群,如果无法无法成功操作(假设当前权限仅包含CCE ReadOnlyAccess),表示“CCE ReadOnlyAccess”已生效。 在“服务列表”中选择除云容器引擎外(假设当前策略仅包含CCE ReadOnlyAccess)的任一服务,若提示权限不足,表示“CCE ReadOnlyAccess”已生效。
  • 系统策略 IAM中预置的CCE系统策略当前包含CCE FullAccess和CCE ReadOnlyAccess两种策略: CCE FullAccess:系统策略,CCE服务集群相关资源的普通操作权限,不包括集群(启用Kubernetes RBAC鉴权)的命名空间权限,不包括委托授权、生成集群证书等管理员角色的特权操作。 CCE ReadOnlyAccess:系统策略,CCE服务集群相关资源的只读权限,不包括集群(启用Kubernetes RBAC鉴权)的命名空间权限。 购买包周期集群、节点时,需要为用户添加自定义策略,额外配置费用中心服务的支付相关权限,如bss:*:*。 表1 CCE FullAccess策略主要权限 操作(Action) Action详情 说明 cce:*:* cce:cluster:create 创建集群 cce:cluster:delete 删除集群 cce:cluster:update 更新集群,如后续允许集群支持RBAC,调度参数更新等 cce:cluster:upgrade 升级集群 cce:cluster:start 唤醒集群 cce:cluster:stop 休眠集群 cce:cluster:list 查询集群列表 cce:cluster:get 查询集群详情 cce:node:create 添加节点 cce:node:delete 删除节点/批量删除节点 cce:node:update 更新节点,如更新节点名称 cce:node:get 查询节点详情 cce:node:list 查询节点列表 cce:nodepool:create 创建节点池 cce:nodepool:delete 删除节点池 cce:nodepool:update 更新节点池信息 cce:nodepool:get 获取节点池 cce:nodepool:list 列出集群的所有节点池 cce:release:create 创建模板实例 cce:release:delete 删除模板实例 cce:release:update 更新升级模板实例 cce:job:list 查询任务列表(集群层面的job) cce:job:delete 删除任务/批量删除任务(集群层面的job) cce:job:get 查询任务详情(集群层面的job) cce:storage:create 创建存储 cce:storage:delete 删除存储 cce:storage:list 列出所有磁盘 cce:addonInstance:create 创建插件实例 cce:addonInstance:delete 删除插件实例 cce:addonInstance:update 更新升级插件实例 cce:addonInstance:get 获取插件实例 cce:addonTemplate:get 获取插件模板 cce:addonInstance:list 列出所有插件实例 cce:addonTemplate:list 列出所有插件模板 cce:chart:list 列出所有模板 cce:chart:delete 删除摸板 cce:chart:update 更新模板 cce:chart:upload 上传模板 cce:chart:get 获取模板信息 cce:release:get 获取模板实例信息 cce:release:list 列出所有模板实例 cce:userAuthorization:get 获取CCE用户授权 cce:userAuthorization:create 创建CCE用户授权 ecs:*:* - E CS (弹性云服务器)服务的所有权限。 evs:*:* 具体action详见:云硬盘v2接口的授权信息。 EVS(云硬盘)的所有权限。 可以将云硬盘挂载到云服务器,并可以随时扩容云硬盘容量 vpc:*:* - VPC(虚拟私有云,包含二代ELB)的所有权限。 创建的集群需要运行在虚拟私有云中,创建命名空间时,需要创建或关联VPC,创建在命名空间的容器都运行在VPC之内。 sfs:*:get* - SFS(弹性文件存储服务)资源详情的查看权限。 sfs:shares:ShareAction - SFS(弹性文件存储服务)资源的扩容共享。 aom:*:get - AOM 应用运维管理 )资源详情的查看权限。 aom:*:list - AOM(应用运维管理)资源列表的查看权限。 aom:autoScalingRule:* - AOM(应用运维管理)自动扩缩容规则的所有操作权限。 apm:icmgr:* - APM( 应用性能管理 服务)操作ICAgent权限。 lts:*:* - LTS( 云日志 服务)的所有权限。 表2 CCE ReadOnlyAccess策略主要权限 操作(Action) 操作(Action) 说明 cce:*:get cce:cluster:get 查询集群详情 cce:node:get 查询节点详情 cce:job:get 查询任务详情(集群层面的job) cce:addonInstance:get 获取插件实例 cce:addonTemplate:get 获取插件模板 cce:chart:get 获取模板信息 cce:nodepool:get 获取节点池 cce:release:get 获取模板实例信息 cce:userAuthorization:get 获取CCE用户授权 cce:*:list cce:cluster:list 查询集群列表 cce:node:list 查询节点列表 cce:job:list 查询任务列表(集群层面的job) cce:addonInstance:list 列出所有插件实例 cce:addonTemplate:list 列出所有插件模板 cce:chart:list 列出所有模板 cce:nodepool:list 列出集群的所有节点池 cce:release:list 列出所有模板实例 cce:storage:list 列出所有磁盘 cce:kubernetes:* - 操作所有Kubernetes资源,具体权限请在命名空间权限中配置。 ecs:*:get - ECS(弹性云服务器)所有资源详情的查看权限。 CCE中的一个节点就是具有多个云硬盘的一台弹性云服务器 ecs:*:list - ECS(弹性云服务器)所有资源列表的查看权限。 bms:*:get* - BMS(裸金属服务器)所有资源详情的查看权限。 bms:*:list - BMS(裸金属服务器)所有资源列表的查看权限。 evs:*:get - EVS(云硬盘)所有资源详情的查看权限。可以将云硬盘挂载到云服务器,并可以随时扩容云硬盘容量 evs:*:list - EVS(云硬盘)所有资源列表的查看权限。 evs:*:count - - vpc:*:get - VPC(虚拟私有云,包含二代ELB)所有资源详情的查看权限。 创建的集群需要运行在虚拟私有云中,创建命名空间时,需要创建或关联VPC,创建在命名空间的容器都运行在VPC之内 vpc:*:list - VPC(虚拟私有云,包含二代ELB)所有资源列表的查看权限。 sfs:*:get* - SFS(弹性文件服务)服务所有资源详情的查看权限。 sfs:shares:ShareAction - SFS(弹性文件服务)资源的扩容共享。 aom:*:get - AOM(应用运维管理)服务所有资源详情的查看权限。 aom:*:list - AOM(应用运维管理)服务所有资源列表的查看权限。 aom:autoScalingRule:* - AOM(应用运维管理)服务自动扩缩容规则的所有操作权限。 lts:*:get - LTS(云日志服务)的所有资源详情的查看权限。 lts:*:list - LTS(云日志服务)的所有资源列表的查看权限。
  • 解决方案 问题场景一:检查到应用存在该异常,进行整改。 推荐您使用挂载目录的方式挂载sock文件。例如,若宿主机sock文件路径为/var/run/docker.sock,您可参考下述配置进行整改。注意,该整改生效时会触发Pod重建。 kind: Deployment apiVersion: apps/v1 metadata: name: test spec: replicas: 1 selector: matchLabels: app: nginx template: metadata: app: nginx spec: containers: - name: container-1 image: 'nginx' imagePullPolicy: IfNotPresent volumeMounts: - name: sock-dir mountPath: /var/run imagePullSecrets: - name: default-secret volumes: - name: sock-dir hostPath: path: /var/run 问题场景二:检查到应用存在该异常,明确应用使用场景后,接受sock短暂不可访问风险,继续升级。 请选择跳过该检查项异常后重新检查,在集群升级完成后删除存量Pod,触发Pod重建,访问将恢复。 问题场景三:部分老版本的CCE插件存在该异常 请将老版本的CCE插件升级至最新版本。例如1.2.2以下的dolphin插件存在该问题,需升级至1.2.2及以上版本。 问题场景四: 日志分析 里面出现“failed to execute docker ps -aq”错误。 该报错出现一般是因为容器引擎功能异常导致,请您提工单联系运维人员处理。
  • 检查项内容 检查节点上的Pod是否直接挂载docker/containerd.sock文件。升级过程中Docker/Containerd将会重启,宿主机sock文件发生变化,但是容器内的sock文件不会随之变化,二者不匹配,导致您的业务无法访问Docker/Containerd。Pod重建后sock文件重新挂载,可恢复正常。 通常K8S集群用户基于如下场景在容器中使用上述sock文件: 监控类应用,以DaemonSet形式部署,通过sock文件连接Docker/Containerd,获取节点容器状态信息。 编译平台类应用,通过sock文件连接Docker/Containerd,创建程序编译用容器。
  • 权限列表 开通监控中心前,用户需要完成对CCE及其依赖服务的委托授权,具体授予的权限如下表。 授权类型 权限名称 描述 CCE IAM ReadOnlyAccess 监控中心、告警助手获得该权限后,支持子用户访问监控中心与告警助手,因此需要获得该权限。 CCE Tenant Guest 监控中心、告警助手支持对集群关联的OBS、DNS等全局资源配置进行检查,提前发现配置问题,因此需要获得该权限。 CCE CCE Administrator 监控中心、告警助手在运行过程中需要访问CCE获取集群、节点、工作负载等信息,以此来检测对应资源的健康状态,因此需要获得该权限。 CCE SWR Administrator 监控中心、告警助手在运行过程中需要访问SWR获取镜像信息,因此需要获得该权限。 CCE SMN Administrator 监控中心、告警助手在运行过程中需要访问SMN获取联系组信息,因此需要获得该权限。 CCE AOM Administrator 监控中心、告警助手在运行过程中需要访问AOM获取监控指标信息,因此需要获得该权限。 CCE LTS Administrator 监控中心、告警助手在运行过程中需要访问LTS获取日志信息,因此需要获得该权限。 AOM DMS UserAccess AOM支持用户通过DMS获取数据订阅的功能,因此需要获得该权限。 AOM ECS CommonOperations AOM支持通过在ECS上安装UniAgent和ICAgent获取系统指标、日志数据,因此需要获得该权限。 AOM CES ReadOnlyAccess AOM支持从CES同步监控指标数据,因此需要获得该权限。 AOM CCE FullAccess AOM支持从CCE同步容器监控指标数据,因此需要获得访问权限。 AOM RMS ReadOnlyAccess AOM的CMDB支持管理云服务实例数据,因此需要获得该权限。 AOM ECS ReadOnlyAccess AOM支持通过在ECS上安装UniAgent和ICAgent获取系统指标、日志数据,因此需要获得该权限。 AOM LTS FullAccess AOM支持访问LTS数据,因此需要获得该权限。 AOM CCI FullAccess AOM支持从CCI同步容器监控指标数据,因此需要获得该权限。
  • 如何激活签名(短信签名为什么会出现处于待激活状态)? 因为账户欠费且保留期限已满,签名需进行激活处理。 若要激活签名,请您先进行账户充值,再登录控制台-签名管理,右上角“状态”选择“待激活”,筛选出需要激活的签名,点击“激活”即可。激活签名申请提交成功后,请等待运营经理审核。 如果您在界面中找不到“激活”,可能是页面比例问题,建议您提高网页分辨率,缩小屏幕上的内容。 图1 签名激活示例 父主题: 签名问题
  • 产品优势 本节为您介绍华为 云消息 &短信平台的优势,方便您迅速了解消息&短信服务。 极速稳定 国内验证码和行业通知短信,99%到达率,秒级可达。 基于送达计费,降低企业运营成本。 电信级平台,保证服务可靠性。 海量并发 国内三网100%覆盖(移动,联通,电信),新增支持广电运营商。 10万级并发容量,满足企业海量发送需求。 高效调度算法,确保消息极速发送。 易管理 可视化数据增强统计,随时掌握使用情况。 使用群发助手,操作简单,满足企业一键群发需求。 自定义 短信内容支持按模板或自定义,验证码位数可根据需求配置,满足企业不同的业务诉求。 如有任何疑问,请联系 华为云智能客服,将有专人为您解答。 父主题: 产品概述
  • 运用场景 本文为您介绍华为云消息&短信服务的运用场景。 验证码短信 发送携带数字验证码内容的短信。 用于用户注册、用户登录、转账和密码找回等场景。验证码位数可根据需求配置,满足企业不同的业务诉求。 通知短信 发送携带通知类内容的短信。 用于快递通知、消费通知、即时提醒等场景。 推广短信 又称营销短信,向有订购关系的会员用户发送推广短信。 用于会员关怀、促销活动、运营活动等场景。 如有任何疑问,请联系 华为云智能客服,将有专人为您解答。 父主题: 产品概述
  • 签名审核要求 审核规则 由于短信签名需要在运营商备案,需要您提供企业的营业执照正本或副本复印件(要加盖企业公章),没有涉及第三方权益签名不需要上传授权委托书,如果第三方短信签名侵犯到第三方权益须获第三方的真实授权,查看第三方权益介绍。 签名来源不同,需要提供的申请材料也不同,查看签名申请材料。 审核申请材料 营业执照和授权委托书支持jpg、png、gif、jpeg格式的图片,每张图片不大于2MB。图片命名请勿出现空格,否则导致文件上传失败。 签名来源↵ 申请要求↵ 企事业单位的全称或简称↵ 需上传签名归属实体的三证合一、五证合一、企业营业执照、事业单位法人证书、社会团体法人登记证书、组织机构代码证书、行政执法主体资格证或统一社会信用代码证书。↵ 注:根据实际情况,选择其中一种证书文件上传即可。↵ 若涉及第三方权益,还需上传授权委托书。↵ 工信部备案网站的全称或简称↵ 需上传签名归属实体的三证合一、五证合一、企业营业执照、事业单位法人证书、社会团体法人登记证书、组织机构代码证书、行政执法主体资格证或统一社会信用代码证书。↵ 注:根据实际情况,选择其中一种证书文件上传即可。↵ 若涉及第三方权益,还需上传授权委托书。↵ 网站链接:输入域名已在工信部备案的签名网址,例如:签名为【华为云】,链接为:https://www.huaweicloud.com/↵ 查询入口:http://beian.miit.gov.cn/↵ APP应用的全称或简称↵ 需上传签名归属实体的三证合一、五证合一、企业营业执照、事业单位法人证书、社会团体法人登记证书、组织机构代码证书、行政执法主体资格证或统一社会信用代码证书。↵ 注:根据实际情况,选择其中一种证书文件上传即可。↵ 若涉及第三方权益,还需上传授权委托书。↵ APP应用地址:输入带有开发者信息的APP展示链接。↵ 公众号或小程序的全称或简称↵ 需上传签名归属实体的三证合一、五证合一、企业营业执照、事业单位法人证书、社会团体法人登记证书、组织机构代码证书、行政执法主体资格证或统一社会信用代码证书。↵ 注:根据实际情况,选择其中一种证书文件上传即可。↵ 若涉及第三方权益,还需上传授权委托书。↵ 公众号或者小程序的全称或简称:需填写公众号或小程序的全称或简称↵ 要求公众号或小程序已上线且在微信上能搜索到。↵ 如需查看公众号或小程序签名归属与帐号主体是否一致,请打开微信 - 搜索 - 公众号/小程序 - 点击右上角更多资料查看相关信息。↵ 电商平台店铺名的全称或简称↵ 需上传签名归属实体的三证合一、五证合一、企业营业执照、事业单位法人证书、社会团体法人登记证书、组织机构代码证书、行政执法主体资格证或统一社会信用代码证书。↵ 注:根据实际情况,选择其中一种证书文件上传即可。↵ 若涉及第三方权益,还需上传授权委托书。↵ 电商平台店铺地址:输入电商平台店铺的链接地址。↵ 如需查看电商平台店铺签名归属与帐号主体是否一致,请打开电商平台 - 搜索店铺 - 查看店铺详情 - 营业执照查看信息真实性。↵ 商标名的全称或简称↵ 需上传签名归属实体的三证合一、五证合一、企业营业执照、事业单位法人证书、社会团体法人登记证书、组织机构代码证书、行政执法主体资格证或统一社会信用代码证书。↵ 注:根据实际情况,选择其中一种证书文件上传即可。↵ 若涉及第三方权益,还需上传授权委托书。↵ 如需查看签名归属商标申请人与帐号主体是否一致,请前往中国商标网查看相关信息真实性。↵ 第三方权益↵ 概念:↵ 如果A公司申请签名,签名归属主体属于A,则不涉及第三方权益。↵ 如果A公司替B公司申请签名,签名归属主体属于B,则涉及第三方权益且需要B公司给予A公司的授权委托书。B为授权方,A为被授权方。 优势:↵ 为了简化签名申请的流程,对于不涉及第三方权益可以直接申请签名,只需上传签名归属主体单位的营业执照;对于涉及第三方权益需要上传签名归属主体单位的企业营业执照和授权委托书。↵ 示例:↵ A公司因业务需求,为自己申请签名,即签名归属主体属于A,则签名申请材料中的营业执照,需上传A公司的营业执照正本或副本复印件(要加盖企业公章)。↵ A公司替B公司申请签名,即签名归属主体属于B,则签名申请材料中的营业执照,需上传B公司的营业执照正本或副本复印件(要加盖企业公章),且还需上传B公司给予A公司的授权委托书。↵ 华为云帐号(企业实名认证主体)↵ 签名归属主体↵ 签名申请材料(营业执照)↵ 签名申请材料(授权委托书)↵ A公司↵ A公司↵ A公司的营业执照正本或副本复印件(要加盖企业公章)↵ 不需要↵ A公司↵ B公司↵ B公司的营业执照正本或副本复印件(要加盖企业公章)↵ B公司给予A公司的授权委托书↵ 授权委托书填写指引:↵ 被授权方名称:入驻华为云企业用户的企业名称。↵ 授权方名称:真实需要发送短信一方(即短信内容归属方)的企业名称。↵ 授权书有效期限:具体时间以实际签名使用期限为准填写。↵ 授权方盖章:真实发送消息的一方的实体在此盖公司公章。↵ 法定代表人或负责人(签字):授权方法定代表人或授权方负责人手写签字,字迹需工整清晰。↵ 委托书模板下载参考:第三方授权委托书下载↵ 图1 图1 授权委托书模板↵ ↵ 签名审核常见问题↵ 一级问题 二级问题 处理建议 材料或来源错误 提交资料与公众号/小程序、APP等主体不一致 检查是否填错了签名(错别字、同音字等)。 检查是否提交错材料,如本来需要提交A营业执照,结果上传时误选了B营业执照。 未查询到相关小程序或公众号 检查是否填错了签名(错别字、同音字等)。 确认小程序/公众号是否已上线。 签名与企业名称不一致 签名并非企业全称或简称,而是公司产品,可在申请说明中提供官网产品介绍链接。 若签名为公司商标、APP等,请选择合适的签名来源。 选择签名来源为APP应用而未提供相关下载链接 请在“APP应用下载地址”输入框中填写带有开发者信息的APP下载链接。 未查询到商标 检查是否填错了签名(错别字、同音字等)。 可到“中国商标网”核实商标信息。 资料图片无法显示 可能是由于上传时文件损坏导致不显示,一般确保文件格式正确,重新上传即可。 网站取名工信部备案网站域名未查询到的 看是否为提供的域名填错。 可到http://beian.miit.gov.cn/自检。 签名来源为电商店铺名,未提供所属电商平台 请在“电商平台店铺地址”输入框中填写电商平台店铺链接。 自建商城的可填写商城链接以供核实。 涉及第三方,上传的营业执照是申请方的 涉及第三方权益的签名,需提供的是签名归属方的营业执照。 业务类型不支持 推广、通知签名属于不支持的行业 有些行业并不支持发送所有类型的短信,详情可参照模板规范和变量规范。 格式错误 签名名称要求2~16个字,只能包含中文、数字、字母,不能为纯数字 国内短信尽可能使用中文签名,若签名为公司英文名等,可提供公司的官网链接等以便查证。 中性签名,签名不能很好的辨别企事业单位或公司产品、APP等 建议严格按照所选签名来源拟定签名,在有较多相似名称产品时,使用全称。 如有任何疑问,请联系 华为云智能客服,将有专人为您解答。
  • 登录短信控制台 在使用华为云消息&短信平台提供的优质短信服务前,您需要先登录短信控制台,消息&短信服务十分重视用户体验的简易性和灵活性,所以我们为您提供了三种帐号登录的方式:通过产品首页登录、通过短信控制台网页登录和 华为云产品 首页登录。 控制台支持的浏览器版本,请参考浏览器兼容性。 通过产品首页登录 浏览器访问消息&短信产品首页。 单击“立即使用”,打开用户登录界面。 输入华为云帐号和密码,单击“登录”。 通过短信控制台网页登录 浏览器访问短信控制台地址:https://console.huaweicloud.com/msgsms/。 输入华为云帐号和密码,单击“登录”。 通过华为云产品首页登录 浏览器访问华为云产品首页。 单击界面右上角的“控制台”,打开用户登录界面。 输入华为云帐号和密码,单击“登录”,进入华为云管理控制台。 单击界面左上角的“服务列表”,选择“云通信”下的“消息&短信”服务。 如有任何疑问,请联系华为云智能客服,将有专人为您解答。
  • 操作步骤 登录KooDrive服务业务面。 目前仅支持使用华为账号登录KooDrive服务业务面。 在左侧导航栏单击“个人空间”,页面展示个人空间文件列表。 删除文件(夹)。 方法一: 鼠标悬浮至待删除文件(夹)所在行“更多”文字上,单击“删除”。 在“删除文件”对话框中了解删除文件(夹)的影响后,如果确认要删除文件(夹),单击“确定”。 方法二: 勾选待删除文件(夹)前的复选框,单击列表上方“删除”。 最多可勾选1000个文件(夹)进行删除操作。 在“删除文件”对话框中了解删除文件(夹)的影响后,如果确认要删除文件(夹),单击“确定”。 删除的文件(夹)仍然占用空间容量。 删除的文件(夹)将被临时存放至“回收站”里,并没有从KooDrive中彻底删除。您可根据需要进入回收站中,对已删除的文件(夹)进行恢复或彻底删除操作。
  • 操作步骤 管理员登录KooDrive服务业务面。 目前仅支持使用华为账号登录KooDrive服务业务面。 在左侧导航栏单击“团队空间”,页面以卡片形式展示团队。 系统管理员可以看到企业内所有的部门团队,部门管理员只能看到自己所属部门的团队。 选择团队单击进入团队空间文件列表页。 删除文件(夹)。 方法一: 鼠标悬浮至待删除文件(夹)所在行“更多”文字上,单击“删除”。 在“删除文件”对话框中了解删除文件的影响后,如果确认要删除文件(夹),单击“确定”。 方法二: 勾选待删除文件(夹)前的复选框,单击列表上方“删除”。 最多可勾选1000个文件(夹)进行删除操作。 在“删除文件”对话框中了解删除文件(夹)的影响后,如果确认要删除文件(夹),单击“确定”。 删除的文件(夹)仍然占用空间容量。 删除的文件(夹)将被临时存放至“回收站”里,并没有从KooDrive中彻底删除。管理员可根据需要进入回收站中,对已删除的文件(夹)进行恢复或彻底删除操作。
  • KooDrive权限 在华为云Console上开通KooDrive的企业租户使用的是IAM账号,开通KooDrive服务后,KooDrive会以该IAM账号创建一个系统管理员账号,用该账号登录KooDrive业务应用后,可以进行组织(部门和用户)和空间管理。通过该系统管理员创建的用户,需要给用户授予角色,才能使得用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限操作KooDrive对应拥有权限的资源。 KooDrive的权限管理采用的基于角色的访问控制的策略,权限与角色相关联,用户通过成为适当角色的成员而得到该角色所赋予的权限。当前KooDrive预置了3个系统角色,分别为系统管理员、部门管理员和普通用户,各个角色赋予的权限参考表1。当前版本不支持用户自定义角色。 表1 KooDrive系统角色 角色名称 赋予权限 角色类型 系统管理员 系统管理员,除不能查看非本人名下的个人空间下的文件以外,其他KooDrive所有的资源均能操作,详细的权限列表如下: 组织管理:组织下所有部门的创建、查询、修改、删除操作。 用户管理:组织下所有部门用户的创建、查询、修改、删除操作。 空间管理:组织下所有部门或个人空间的创建、查询、修改、删除操作。 团队空间:组织下所有部门空间内文件的所有操作,如文件/目录的创建、文件复制、删除等操作。 个人空间:仅能操作属于自己名下的个人空间的文件。 回收站:拥有个人回收站和所有团队回收站的操作权限。 系统角色 部门管理员 部门管理员,拥有该权限的用户可以拥有本部门的操作权限,如管理部门空间和部门成员的个人空间,详细的权限列表如下: 组织管理:查询组织下所有部门列表,部门信息。 用户管理:拥有本部门所有用户的管理权限,如查询本部门用户列表及详情,添加、禁用、删除用户等操作。 空间管理:查询组织下所有部门空间和本部门用户的个人空间,分配、修改、禁用、启用、删除本部门空间和部门成员个人空间。 团队空间:组织下所有部门空间内文件的所有操作,如文件/目录的创建、文件复制、删除等操作。 个人空间:仅能操作属于自己名下的个人空间的文件。 回收站:拥有个人回收站所有的操作权限;拥有本部门回收站所有操作权限。 系统角色 普通用户 普通用户,拥有自己名下个人空间的文件所有操作权限,和所在部门空间的受限操作权限,详细的权限列表如下: 个人空间:操作属于自己名下的个人空间的文件。 团队空间:除不能删除团队空间的文件,拥有其他所有所在部门的空间文件操作权限。 回收站:拥有个人回收站所有的操作权限,无团队回收站操作权限。 系统角色
  • 彻底删除团队回收站文件 管理员登录KooDrive服务业务面。 目前仅支持使用华为账号登录KooDrive服务业务面。 在左侧导航选择“回收站”,在回收站页面单击所要操作的团队名称页签,页面展示该团队的回收站文件(夹)。 彻底删除团队回收站文件(夹)。 单个文件(夹)彻底删除。 鼠标移至待恢复文件(夹)所在行,单击“彻底删除”。 在“彻底删除”对话框中了解删除文件(夹)的影响后,如果确认要删除,单击“确定”。 批量彻底删除文件(夹)。 勾选待彻底删除文件(夹)前的复选框,单击列表上方“彻底删除”。 在“彻底删除”对话框中了解删除文件(夹)的影响后,如果确认要删除,单击“确定”。 最多可勾选1000个文件(夹)进行彻底删除操作。 彻底删除的文件不可恢复。
  • 恢复团队回收站文件 管理员登录KooDrive服务业务面。 目前仅支持使用华为账号登录KooDrive服务业务面。 在左侧导航选择“回收站”,在回收站页面单击所要操作的团队名称页签,页面展示该团队的回收站文件(夹)。 恢复团队回收站文件(夹)。 恢复单个文件(夹)。 鼠标移至待恢复文件(夹)所在行,单击“恢复”,文件(夹)按照“原始目录”还原。 批量恢复文件(夹)。 勾选待恢复文件(夹)前的复选框,单击列表上方“恢复”,文件(夹)按照“原始目录”还原。 最多可勾选1000个文件(夹)进行恢复操作。 恢复时若父目录不存在,则按名称重建父目录。 恢复时若存在文件及目录重名,则恢复后的文件或目录通过增加时间戳后缀的方式进行重命名。
  • 修订记录 发布日期 修改说明 2022-09-09 第九次正式发布。 优化恢复成免费实例章节。 2022-07-11 第八次正式发布。 DBA智能运维新增TOP SQL等内容。 2022-03-15 第七次正式发布。 DBA智能运维新增设置付费实例和恢复成免费实例场景内容。 2020-10-15 第六次正式发布。 新增DBA智能运维场景和数据管理场景内容。 2020-09-27 第五次正式发布。 刷新约束限制内容。 2020-08-17 第四次正式发布。 刷新目录。 2020-07-21 第三次正式发布。 修改TaurusDB为 GaussDB (for MySQL)。 2019-10-20 第二次正式发布。 调整章节结构及适配新版界面。 2018-06-25 第一次正式发布。
  • keyspace管理功能面介绍 在GeminiDB Cassandra中,键空间(Keyspace)是用于保存列族,用户定义类型的对象。键空间相当于数据库,创建一个键空间即是创建了一个数据库。 进入Keyspace管理页面有2种方式: 您可从首页Keyspace列表操作栏中,单击“Keyspace管理”进入管理页面。 您也可从顶部导航菜单栏,单击“Keyspace管理”进入管理页面。 图1 Keyspace管理功能面 表1 功能面编号说明 编号 说明 1 显示当前页面所打开的Keyspace名称,可在当前实例内切换Keyspace。 2 显示当前实例IP、端口信息。 3 单击SQL窗口,可快速打开当前Keyspace的SQL窗口操作页面。 4 将对对象列表数据信息定期采集,并保存到DAS的数据库中。 优势: 减少对用户Keyspace的查询次数,降低对用户Keyspace的性能影响; 针对含有大量表的实例,可提升模块搜索性能,并支持翻页查询 。 仅集采结构元数据,不包含用户表里的实际数据。 5 Keyspace管理主要分为对象列表、元数据采集2大功能模块。 6 各功能模块操作窗口区域。
  • 元数据采集 DAS将对实例的元数据信息由实时查库,升级为后台任务的定期采集,并保存到DAS的数据库中。仅集采结构元数据,不包含用户表里的实际数据,请您放心开启元数据采集功能。 减少对用户Keyspace的查询次数,降低对用户库的性能影响; 针对含有大量表的实例,可提升模块搜索性能,并支持翻页查询 。 为了不影响实例性能,当实例QPS大于10000或者TPS大于1000时不进行采集。 在Keyspace管理页面,打开右上方的元数据采集开关,单击“元数据采集”页签,打开元数据采集窗口。 在元数据采集窗口单击“立即采集”,触发采集动作,您可在右侧操作栏中止采集或查看采集详情信息。 清空采集数据:清空采集的元数据、Keyspace结构、表结构等结构数据。 删除日志:日志删除后将不能恢复,请谨慎操作。
  • KooDrive权限 在华为云Console上开通KooDrive的企业租户使用的是IAM账号,开通KooDrive服务后,KooDrive会以该IAM账号创建一个系统管理员账号,用该账号登录KooDrive业务应用后,可以进行组织(部门和用户)和空间管理。通过该系统管理员创建的用户,需要给用户授予角色,才能使得用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限操作KooDrive对应拥有权限的资源。 KooDrive的权限管理采用的基于角色的访问控制的策略,权限与角色相关联,用户通过成为适当角色的成员而得到该角色所赋予的权限。当前KooDrive预置了3个系统角色,分别为系统管理员、部门管理员和普通用户,各个角色赋予的权限参考表1。当前版本不支持用户自定义角色。 表1 KooDrive系统角色 角色名称 赋予权限 角色类型 系统管理员 系统管理员,除不能查看非本人名下的个人空间下的文件以外,其他KooDrive所有的资源均能操作,详细的权限列表如下: 组织管理:组织下所有部门的创建、查询、修改、删除操作。 用户管理:组织下所有部门用户的创建、查询、修改、删除操作。 空间管理:组织下所有部门或个人空间的创建、查询、修改、删除操作。 团队空间:组织下所有部门空间内文件的所有操作,如文件/目录的创建、文件复制、删除等操作。 个人空间:仅能操作属于自己名下的个人空间的文件。 回收站:拥有个人回收站和所有团队回收站的操作权限。 系统角色 部门管理员 部门管理员,拥有该权限的用户可以拥有本部门的操作权限,如管理部门空间和部门成员的个人空间,详细的权限列表如下: 组织管理:查询组织下所有部门列表,部门信息。 用户管理:拥有本部门所有用户的管理权限,如查询本部门用户列表及详情,添加、禁用、删除用户等操作。 空间管理:查询组织下所有部门空间和本部门用户的个人空间,分配、修改、禁用、启用、删除本部门空间和部门成员个人空间。 团队空间:组织下所有部门空间内文件的所有操作,如文件/目录的创建、文件复制、删除等操作。 个人空间:仅能操作属于自己名下的个人空间的文件。 回收站:拥有个人回收站所有的操作权限;拥有本部门回收站所有操作权限。 系统角色 普通用户 普通用户,拥有自己名下个人空间的文件所有操作权限,和所在部门空间的受限操作权限,详细的权限列表如下: 个人空间:操作属于自己名下的个人空间的文件。 团队空间:除不能删除团队空间的文件,拥有其他所有所在部门的空间文件操作权限。 回收站:拥有个人回收站所有的操作权限,无团队回收站操作权限。 系统角色
  • 回答 场景一:(import场景)使用sqoop import命令抽取开源postgre到 MRS hdfs或hive等。 问题现象: 使用sqoop命令查询postgre表可以,但是执行sqoop import命令倒数时报错: The authentication type 12 is not supported. Check that you have configured the pg_hba.conf file to include the client's IP address or subnet, and that it The authentication type 5 is not supported. Check that you have configured the pg_hba.conf file to include the client's IP address or subnet, and that it 问题根因: 报错中type为5时:在执行sqoop import命令时,会启动MapReduce任务,由于MRS Hadoop安装目录(/opt/Bigdata/ FusionInsight _HD_*/1_*_NodeManager/install/hadoop/share/hadoop/common/lib)下自带了postgre驱动包gsjdbc4-*.jar,与开源postgre服务不兼容导致报错。 报错中type为12时:数据库的pg_hba.conf文件配置有误。 解决方案: 报错中type为5时:在每台MRS NodeManager实例所在节点上移动驱动包gsjdbc4-*.jar到tmp目录下。 mv /opt/Bigdata/FusionInsight_HD_*/1_*_NodeManager/install/hadoop/share/hadoop/common/lib/gsjdbc4-*.jar /tmp 报错中type为12时:调整数据库的pg_hba.conf文件,将address改成sqoop所在节点的ip。 场景二:(export场景)使用sqoop export命令抽取开源postgre到MRS hdfs或hive等。 问题现象: 使用sqoop命令查询postgre表可以,但是执行sqoop export命令倒数时报错:The authentication type 5 is not supported. Check that you have configured the pg_hba.conf file to include the client's IP address or subnet, and that it 问题根因: 在执行sqoop export命令时,会启动MapReduce任务,由于MRS Hadoop安装目录(/opt/Bigdata/FusionInsight_HD_*/1_*_NodeManager/install/hadoop/share/hadoop/common/lib)下自带了postgre驱动包gsjdbc4-*.jar,与开源postgre服务不兼容导致报错。 解决方案: 在每台MRS NodeManager实例所在节点上移动驱动包gsjdbc4-*.jar到tmp目录下。 mv /opt/Bigdata/FusionInsight_HD_*/1_*_NodeManager/install/hadoop/share/hadoop/common/lib/gsjdbc4-*.jar /tmp 将/opt/Bigdata/client/Hive/Beeline/lib/gsjdbc4-*.jar删除 。
  • 创建部门 系统管理员登录KooDrive服务业务面。 目前仅支持使用华为账号登录KooDrive服务业务面。 单击页面顶部“管理控制台”。 在左侧导航栏选择“组织管理”,在部门列表区域底部单击“新建部门”。 参考表1配置部门基本信息和部门团队空间。 表1 新建部门 参数 说明 部门名称 部门名称不能重复,必选参数。 名称长度不超过20个字符,输入字符无限制。 上级部门 创建子部门时,因部门层级最大支持五级,所以上级部门只能选择不超过四级的部门,五级部门置灰展示。 是否分配团队空间 是否在创建部门时分配团队空间。 团队空间大小 开启“是否分配团队空间”开关时,此处展示的团队空间大小为配置企业云盘时的团队空间默认大小,系统管理员可根据下方剩余空间大小的提示重新设置团队空间大小。 配置完成后单击“确定”完成部门创建。
  • 创建子部门 部门层级最多支持五级,所以无法在五级部门下新建子部门。 单击部门右侧,选择“新建子部门”。 参考表2配置子部门基本信息和子部门团队空间。 表2 新建子部门 参数 说明 部门名称 部门名称不能重复,必选参数。 名称长度不超过20个字符,输入字符无限制。 上级部门 创建子部门时默认自动展示上级部门,不可更改。 是否分配团队空间 是否在创建部门时分配团队空间。 团队空间大小 开启“是否分配团队空间”时,此处展示的团队空间大小为配置企业云盘时的团队空间默认大小,系统管理员可根据下方剩余空间大小的提示重新设置团队空间大小。 配置完成后单击“确定”完成子部门创建。
  • 添加用户 添加的企业用户数不超过购买的“用户服务”人数。 用户添加成功后,状态为“未激活”状态,添加的用户登录KooDrive后状态变更为“正常”状态。 管理员登录KooDrive服务业务面。 目前仅支持使用华为账号登录KooDrive服务业务面。 在部门列表选择待添加用户的部门,在用户列表上方单击“新建用户”,在“新建用户”弹框中参考表3填写用户信息,填写完成后单击“下一步”。 表3 添加用户参数说明 参数名称 参数说明 取值样例 成员姓名 成员的姓名。最多可输入20个字符。 张三_01 成员账号 系统管理员为成员设置的账号。输入账号前半部分,后面默认带组织域名后缀。 zhangsan01@ldb.huaweiapaas.com 手机号 成员的手机号码。非必填项,当邮箱地址未填写时手机号必须填写。 - 邮箱地址 成员的邮箱地址。非必填项,当手机号未填写时邮箱地址必须填写。 - 成员工号 成员的工号。非必填项。 00001 设置密码 系统管理员为成员设置的账号密码,支持选择“自动生成密码”或“手工输入密码”。 选择“自动生成密码”时,系统会以邮件或者短信的形式将密码发送到填写的邮箱地址或手机上。 手工输入的密码格式需满足以下要求: 至少包含8个字符。 至少含字母和数字,不能包含空格。 说明: 成员首次登录需修改密码。 手工输入:abc00001 继续参考表4完善用户信息,填写完成后,单击“确定”。该用户信息被添加在对应部门的用户信息列表中。 表4 完善用户信息参数说明 参数 说明 部门 在下拉框中选择用户所属部门。若选择一级部门,则创建的用户为一级部门直属用户。 说明: 部门管理员在本部门下创建用户时,部门参数置灰,不可选。 角色 选择用户所属的角色。 普通用户角色拥有的权限 个人空间:操作属于自己名下的个人空间的文件。 团队空间:除不能删除团队空间的文件,拥有其他所有所在部门的空间文件操作权限。 回收站:拥有个人回收站所有的操作权限,无团队回收站操作权限。 部门管理员角色拥有的权限 组织管理:查询组织下所有部门列表,部门信息。 用户管理:拥有本部门所有用户的管理权限,如查询本部门用户列表及详情,添加、禁用、删除用户等操作。 空间管理:查询组织下所有部门空间和本部门用户的个人空间,分配、修改、禁用、启用、删除本部门空间和部门成员个人空间。 团队空间:组织下所有部门空间内文件的所有操作,如文件/目录的创建、文件复制、删除等操作。 个人空间:仅能操作属于自己名下的个人空间的文件。 回收站:拥有个人回收站所有的操作权限;拥有本部门回收站所有操作权限。 是否分配个人空间 是否在创建用户时为用户分配个人空间。 个人空间大小 开启“是否分配个人空间”开关时,此处默认展示的个人空间大小为配置企业云盘时配置的个人空间默认大小,管理员可根据下方剩余空间大小的提示重新设置个人空间大小。
  • 环境准备 在配置开源Spark组件对接LakeFormation前,需要提前准备以下信息: 准备可用的开源Spark环境、开源Hive环境。并安装Git环境。 目前仅支持对接Spark 3.1.1以及Spark 3.3.1两个版本。对应使用Hive内核版本为2.3。 准备LakeFormation实例,详细操作请参考创建LakeFormation实例。 创建LakeFormation接入客户端,并与Spark在相同的虚拟私有云、子网下,详细操作请参考管理接入客户端。 准备开发环境,详细操作请参考准备开发程序环境中“准备开发环境”部分,其中“安装和配置IntelliJ IDEA”为可选。 准备LakeFormation客户端。 方式一:下载客户端发行版 获取地址为:https://gitee.com/HuaweiCloudDeveloper/huaweicloud-lake-formation-lakecat-sdk-java/releases 根据Spark、Hive版本下载对应客户端(如Spark3.1.1,对应Hive版本为2.3.7,则下载lakeformation-lakecat-client-hive2.3-spark3.1-1.0.0.jar) 方式二:本地编译客户端 获取客户端代码。 获取地址为:https://gitee.com/HuaweiCloudDeveloper/huaweicloud-lake-formation-lakecat-sdk-java。 在Git中执行以下命令将分支切换为“master_dev”: git checkout master_dev 配置maven源,详细操作请参考https://mirrors.huaweicloud.com/mirrorDetail/5ea148ce302e67c59c8fe162。 获取以下jar包及对应的pom文件,并将文件放入maven本地仓库。 例如本地仓库地址为“D:\maven\repository”,则放入“D:\maven\repository\com\huaweicloud\hadoop-huaweicloud\3.1.1-hw-45”目录下。 jar包:https://github.com/huaweicloud/obsa-hdfs/blob/master/release/hadoop-huaweicloud-3.1.1-hw-45.jar pom文件:https://github.com/huaweicloud/obsa-hdfs/blob/master/hadoop-huaweicloud/pom.xml,并改名为hadoop-huaweicloud-3.1.1-hw-45.pom。 编译打包客户端代码。 根据Spark版本,进入客户端工程目录,执行以下打包命令: mvn clean install -DskipTests=true -P"${SPARK_PROFILE}" -P"${HIVE_PROFILE}" SPARK_PROFILE:填写spark-3.1或者spark-3.3。 HIVE_PROFILE:填写hive-2.3。 打包完成后可以在“lakeformation-lakecat-client”的target目录下获取“lakeformation-lakecat-client-1.0.0.jar”。 准备并补充替换Hive内核相关的jar包。 如仅使用SparkCatalogPlugin方式对接,不使用MetastoreClient方式对接,本步骤可省略。 方式一:下载预构建Hive相关jar包 获取地址为:https://gitee.com/HuaweiCloudDeveloper/huaweicloud-lake-formation-lakecat-sdk-java/releases 根据Spark、Hive版本下载对应客户端(如Spark3.1.1,对应Hive版本为2.3.7,则下载hive-exec-2.3.7-core.jar、hive-common-2.3.7.jar) 方式二:本地编译Hive相关jar包 如果对接的环境为Spark 3.1.1,则需使用Hive 2.3.7版本。对接的环境为Spark 3.3.1,则需使用Hive 2.3.9版本。 Windows系统下需要在WSL开发环境下进行maven相关操作。 根据Hive版本下载Hive源码。 例如Hive内核版本号为2.3.9,则下载链接为https://github.com/apache/hive/tree/rel/release-2.3.9。 将LakeFormation的客户端代码中的patch应用到Hive源码。 根据需要切换Hive源码分支,例如Hive内核版本号为2.3.9,则执行如下命令: git checkout rel/release-2.3.9 执行以下命令,将patch应用到切换分支后的Hive源码工程。 mvn patch:apply -DpatchFile=${your patch file location} 其中,“your patch file location”为hive-2_3_for_lakeformation.patch的存储路径。patch文件可在客户端工程中获取,如下图所示: 执行以下命令重新编译Hive内核源码。 mvn clean install -DskipTests=true 补充Spark环境所需jar包。 获取以下jar包,并补充或替换到Spark的jars目录下。 表1 获取Spark环境所需jar包 序号 jar包名称 获取途径 1 spring-web-5.3.24.jar https://mirrors.huaweicloud.com/repository/maven/org/springframework/spring-web/5.3.24/ 2 spring-core-5.3.24.jar https://mirrors.huaweicloud.com/repository/maven/org/springframework/spring-core/5.3.24/ 3 spring-context-5.3.24.jar https://mirrors.huaweicloud.com/repository/maven/org/springframework/spring-context/5.3.24/ 4 spring-beans-5.3.24.jar https://mirrors.huaweicloud.com/repository/maven/org/springframework/spring-beans/5.3.24/ 5 caffeine-2.9.3.jar https://mirrors.huaweicloud.com/repository/maven/com/github/ben-manes/caffeine/caffeine/2.9.3/ 6 mapstruct-1.5.3.Final.jar https://mirrors.huaweicloud.com/repository/maven/org/mapstruct/mapstruct/1.5.3.Final/ 7 log4j-api-2.19.0.jar https://mirrors.huaweicloud.com/repository/maven/org/apache/logging/log4j/log4j-api/2.19.0/ 8 java-sdk-core-3.2.4.jar (如果仅使用自定义认证信息获取类使用Token认证,则无需补充该jar包。) https://mirrors.huaweicloud.com/repository/maven/huaweicloudsdk/com/huawei/apigateway/java-sdk-core/3.2.4/ 9 bcprov-jdk15to18-1.70.jar https://mirrors.huaweicloud.com/repository/maven/org/bouncycastle/bcprov-jdk15to18/1.70/ 10 jca-1.0.4.jar https://mirrors.huaweicloud.com/repository/maven/org/openeuler/jca/1.0.4/ 11 hadoop-huaweicloud-3.1.1-hw-45.jar https://github.com/huaweicloud/obsa-hdfs/blob/master/release/hadoop-huaweicloud-3.1.1-hw-45.jar 12 lakeformation-lakecat-client-1.0.0.jar 步骤 5中获取。 13 hive-exec-${version}-core.jar 步骤 6中获取。 14 hive-common-${version}.jar 步骤 6中获取。 父主题: 配置开源Spark组件对接LakeFormation
  • 环境准备 在配置开源Hive组件对接LakeFormation前,需要提前准备以下信息: 准备可用的开源Hive环境,目前支持Hive 2.3以及Hive 3.1两个版本,并安装Git环境。 准备LakeFormation实例,详细操作请参考创建LakeFormation实例。 创建LakeFormation接入客户端,并与Hive在相同的虚拟私有云、子网下,详细操作请参考管理接入客户端。 准备开发环境,详细操作请参考准备开发程序环境中“准备开发环境”部分,其中“安装和配置IntelliJ IDEA”为可选。 准备LakeFormation客户端。 方式一:下载客户端发行版 获取地址为:https://gitee.com/HuaweiCloudDeveloper/huaweicloud-lake-formation-lakecat-sdk-java/releases 根据Spark、Hive版本下载对应客户端(Hive版本为2.3.9,则下载lakeformation-lakecat-client-hive2.3-spark3.1-1.0.0.jar) 方式二:本地编译客户端 获取客户端代码。 获取地址为:https://gitee.com/HuaweiCloudDeveloper/huaweicloud-lake-formation-lakecat-sdk-java。 并在Git中执行以下命令将分支切换为“master_dev”: git checkout master_dev 配置maven源,详细操作请参考https://mirrors.huaweicloud.com/mirrorDetail/5ea148ce302e67c59c8fe162。 获取以下jar包以及对应的pom文件,并将文件放入maven本地仓库。 例如本地仓库地址为“D:\maven\repository”,则放入“D:\maven\repository\com\huaweicloud\hadoop-huaweicloud\3.1.1-hw-45”目录下。 jar包:https://github.com/huaweicloud/obsa-hdfs/blob/master/release/hadoop-huaweicloud-3.1.1-hw-45.jar pom文件:https://github.com/huaweicloud/obsa-hdfs/blob/master/hadoop-huaweicloud/pom.xml,并改名为hadoop-huaweicloud-3.1.1-hw-45.pom。 编译打包客户端代码。 根据Hive版本,进入客户端工程目录,执行以下打包命令: mvn clean install -DskipTests=true -P"${HIVE_PROFILE}" “HIVE_PROFILE”:可选择为“hive-2.3”或者“hive-3.1”。 打包完成后可以在“lakeformation-lakecat-client”的target目录下获取“lakeformation-lakecat-client-1.0.0.jar”。 准备Hive内核相关的jar包。 方式一:下载预构建Hive相关jar包 获取地址为:https://gitee.com/HuaweiCloudDeveloper/huaweicloud-lake-formation-lakecat-sdk-java/releases 根据Hive版本下载对应客户端(Hive版本为2.3.9,则下载hive-exec-2.3.9.jar、hive-common-2.3.9.jar) 方式二:本地编译Hive相关jar包 Windows系统下需要在WSL开发环境下进行maven相关操作。 根据Hive版本下载Hive源码。 例如Hive内核版本号为2.3.9,则下载链接为:https://github.com/apache/hive/tree/rel/release-2.3.9 将LakeFormation的客户端代码中的patch应用到Hive源码。 根据需要切换Hive源码分支,例如Hive内核版本号为2.3.9,则执行如下命令: git checkout rel/release-2.3.9 执行以下命令,将patch应用到切换分支后的Hive源码工程。 mvn patch:apply -DpatchFile=${your patch file location} 其中,“your patch file location”为hive-2_3_for_lakeformation.patch或hive-3_1_for_lakeformation.patch的存储路径。patch文件可在客户端工程中获取,如下图所示: 执行以下命令重新编译Hive内核源码。 mvn clean install -DskipTests=true 准备并补充替换Hive内核相关的jar包。 获取以下jar包,并补充或替换到Hive安装环境的lib目录下。 表1 获取Hive环境所需jar包 序号 jar包名称 获取途径 1 spring-web-5.3.24.jar https://mirrors.huaweicloud.com/repository/maven/org/springframework/spring-web/5.3.24/ 2 spring-core-5.3.24.jar https://mirrors.huaweicloud.com/repository/maven/org/springframework/spring-core/5.3.24/ 3 spring-context-5.3.24.jar https://mirrors.huaweicloud.com/repository/maven/org/springframework/spring-context/5.3.24/ 4 spring-beans-5.3.24.jar https://mirrors.huaweicloud.com/repository/maven/org/springframework/spring-beans/5.3.24/ 5 caffeine-2.9.3.jar https://mirrors.huaweicloud.com/repository/maven/com/github/ben-manes/caffeine/caffeine/2.9.3/ 6 mapstruct-1.5.3.Final.jar https://mirrors.huaweicloud.com/repository/maven/org/mapstruct/mapstruct/1.5.3.Final/ 7 http-core-4.4.13.jar (如果Hive内核版本为3.1,则不需要该jar包。) https://mirrors.huaweicloud.com/repository/maven/org/apache/httpcomponents/httpcore/4.4.13/ 8 jca-1.0.4.jar https://mirrors.huaweicloud.com/repository/maven/org/openeuler/jca/1.0.4/ 9 将commons-codec-1.4.jar替换为commons-codec-1.15.jar (如果Hive内核版本为3.1,则不需要该jar包。) https://mirrors.huaweicloud.com/repository/maven/commons-codec/commons-codec/1.15/ 10 java-sdk-core-3.2.4.jar (如果仅使用自定义认证信息获取类使用Token认证,则无需补充该jar包。) https://mirrors.huaweicloud.com/repository/maven/huaweicloudsdk/com/huawei/apigateway/java-sdk-core/ 11 hadoop-huaweicloud-3.1.1-hw-45.jar https://github.com/huaweicloud/obsa-hdfs/blob/master/release/hadoop-huaweicloud-3.1.1-hw-45.jar 12 lakeformation-lakecat-client-1.0.0.jar 步骤 5中获取。 13 hive-exec-${version}.jar 步骤 6中获取。 14 hive-common-${version}.jar 步骤 6中获取。 父主题: 配置开源Hive组件对接LakeFormation
  • 实施步骤 订阅一个Topic且订阅一个Tag 同一消费组Group1中的消费者Consumer1、Consumer2和Consumer3都订阅了Topic_A,且都订阅了Topic_A的Tag_A,符合订阅关系一致原则。Consumer1、Consumer2、Consumer3的订阅关系一致,即Consumer1、Consumer2、Consumer3订阅消息的代码必须完全一致,代码示例如下: DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("Group1"); consumer.subscribe("Topic_A", "Tag_A"); 订阅一个Topic且订阅多个Tag 同一消费组Group1中的消费者Consumer1、Consumer2和Consumer3都订阅了Topic_A,且都订阅了Topic_A的Tag_A和Tag_B(即订阅Topic_A中所有Tag为Tag_A或Tag_B的消息),顺序都是Tag_A||Tag_B,符合订阅关系一致性原则。Consumer1、Consumer2、Consumer3的订阅关系一致,即Consumer1、Consumer2、Consumer3订阅消息的代码必须完全一致,代码示例如下: DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("Group1"); consumer.subscribe("Topic_A", "Tag_A||Tag_B"); 订阅多个Topic且订阅多个Tag 同一消费组Group1中的消费者Consumer1、Consumer2和Consumer3都订阅了Topic_A和Topic_B,且订阅Topic_A都未指定Tag(即订阅Topic_A中的所有消息),订阅Topic_B的Tag都是Tag_A和Tag_B(即订阅Topic_B中所有Tag为Tag_A或Tag_B的消息),顺序都是Tag_A||Tag_B,符合订阅关系一致性原则。Consumer1、Consumer2、Consumer3的订阅关系一致,即Consumer1、Consumer2、Consumer3订阅消息的代码必须完全一致,代码示例如下: DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("Group1"); consumer.subscribe("Topic_A", "*"); consumer.subscribe("Topic_B", "Tag_A||Tag_B");
  • 方案概述 订阅关系一致指的是同一个消费组下所有消费者所订阅的Topic、Tag必须完全一致。如果订阅关系不一致,消息消费的逻辑就会混乱,甚至导致消息丢失。 消费原理 RocketMQ为每个Topic划分了消息队列(Queue),队列数越大消费的并发度越大。一个消费组表示一个消费者群组,在分布式应用场景下,同一个消费组中的多个消费者共同完成Topic所有Queue的消费。Queue的分配以消费组为单位,会均匀分配给消费组下的消费者,而不会在意该消费者是否订阅了当前Topic。一个消费者只会分配到Topic中的某几个Queue,而一个Queue只会分配给一个消费者。 正确的订阅关系 在分布式应用场景下,一个消费组中所有的消费者拥有一个相同的消费组ID,他们需订阅相同的Topic和Tag,保持订阅关系一致,才能保证消息消费逻辑正确,消息不丢失。 同一个消费组的消费者必须订阅同一个Topic。例如,消费组1中有消费者A和消费者B,消费者A订阅了Topic A和Topic B,则消费者B也必须订阅Topic A和Topic B,不能只订阅Topic A或只订阅Topic B,或者额外订阅Topic C。 同一个消费组的消费者订阅同一个Topic下的Tag必须一致,包括Tag的数量和顺序。例如,消费组2中有消费者A和消费者B,消费者A订阅Topic A且Tag为Tag1||Tag2,则消费者B订阅Topic A时Tag也必须为Tag1||Tag2,不能只订阅Tag1或只订阅Tag2或订阅Tag2||Tag1。 订阅关系一致性保证了同一个消费组中消费者的正常运行,避免消息逻辑混乱和消息丢失。在实际使用中,生产者端要做好消息的分类,便于消费者可以使用Tag进行消息的准确订阅。而在消费者端,则要保证订阅关系的一致性。 错误的订阅关系 同一消费组下的消费者订阅了不同的Topic 例如,消费组Group1下有消费者A和消费者B,消费者A订阅了Topic A,消费者B订阅了Topic B。当生产者向Topic A发送消息时,消息会按Queue均匀发送给消费者A和消费者B。由于消费者B没有订阅Topic A的消息,会把Topic A消息过滤掉(即图中Topic A的Queue2中的消息会被消费者B过滤),从而导致部分Topic A消息未被消费。 图1 错误的Topic订阅 同一消费组下的消费者订阅了相同Topic下不同的Tag 例如,消费组Group1下有消费者A和消费者B,消费者A订阅了Topic A的Tag A,消费者B订阅了Topic A的Tag B。当生产者向Topic A发送Tag A的消息时,Tag A消息会按Queue均匀发送给消费者A和消费者B。由于消费者B没有订阅Tag A的消息,会把Tag A消息过滤掉(即图中Queue2中的Tag A消息会被消费者B过滤),从而导致部分Tag A消息未被消费。 图2 错误的Tag订阅
共100000条