华为云用户手册

  • 【2020年5月31日】GlobalSign系统维护通知 尊敬的华为云用户: 根据GlobalSign的通知,GlobalSign计划于北京时间2020年5月31日19:00至23:00对系统进行维护。尽管GlobalSign有冗余措施来保持服务的连续运行,但在此期间某些GlobalSign服务可能不可用。 华为云GlobalSign证书服务方面,OV、EV订单可正常提交,但订单的处理、签发会延迟到系统维护结束后处理。GlobalSign DV类订单,在系统维护期间将返回服务不可用错误,需要待系统服务恢复稳定后才能正常提交订单。 我们将在系统更新期间及更新结束后对订单进行持续跟踪处理,确保受此更新影响的订单均得到有效处理。 在此期间,如您有任何异议,请随时与我们联系,华为云SSL证书团队将一如既往竭诚为您服务。 感谢您的支持和理解!
  • 【2021年11月01日】域名所有权验证策略(文件验证方式)变更通知 尊敬的华为云客户,您好: 根据CA/B(国际CA/浏览器产业联盟:CA/Browser Forum,简称CA/B)论坛的要求,华为云SSL证书将对文件验证方式进行如下变更: 自2021年11月12日起,对泛域名的文件验证方式进行变更。 自2021年12月1日起,将全面下线文件验证,建议优先使用DNS验证或邮件验证。 具体变更如下: 自2021年11月12日起,泛域名(例如,*.example.com)不再支持通过文件验证的方式进行域名所有权验证。 自2021年11月12日起,如果已使用文件验证方式对非泛域名证书域名完成验证,则只能验证当前的完整域名。 自2021年11月12日起,如果已通过文件验证方式验证域名但未签发的泛域名证书,则将需重新验证域名。 您需要注意以下几点: 在2021年11月12日前,已使用文件验证方式签发的泛域名证书不受影响,无需采取任何措施。 自2021年11月12日起,申请泛域名证书时,请选择DNS验证或者邮件验证的方式验证域名所有权。 为避免此次文件验证方式变更带来的不便,请在申请非泛域名类型证书的过程中选择DNS验证或者邮件验证的方式验证域名所有权。 在此期间,如您有任何异议,请随时与我们联系,华为云SSL证书团队将一如既往竭诚为您服务。 感谢您对华为云的支持!
  • DigiCert根证书变更计划 DigiCert根证书具体变更计划如下: 2023年3月8日之前签发的SSL证书均能正常使用。 自2023年3月8日起,DigiCert和GeoTrust两个品牌DV类型SSL证书将通过DigiCert Global Root G2根证书和新的中级证书签发,相关证书链变更详情请参见表 DV类型SSL证书链变更详情。 表2 DV类型证书链变更详情 云证书管理服务有关的证书品牌 云证书管理服务有关的证书类型 原中级证书 原根证书 新中级证书 新根证书 DigiCert DV (Basic) Encryption Everywhere DV TLS CA - G1 DigiCert Global Root CA Encryption Everywhere DV TLS CA - G2 DigiCert Global Root G2 GeoTrust DV GeoTrust RSA CA 2018 DigiCert Global Root CA GeoTrust TLS RSA CA G1 DigiCert Global Root G2 DV(Basic) RapidSSL Global TLS RSA4096 SHA256 2022 CA1 DigiCert Global Root CA RapidSSL TLS RSA CA G1 DigiCert Global Root G2 自2023年7月1日起,DigiCert和GeoTrust两个品牌的OV或EV类型SSL证书将逐步通过DigiCert Global Root G2根证书和新的中级证书签发,相关SSL证书链变更详情请关注DigiCert后续官方声明。
  • 【2020年4月26日】Symantec证书品牌标识变更通知 尊敬的华为云用户: 2017年8月2日,CA认证机构DigiCert宣布正式收购Symantec安全认证业务。为此,DigiCert将于2020年4月30日起,停止使用与赛门铁克(Symantec)相关的营销及品牌行为。原Symantec品牌证书将更名为DigiCert品牌证书。因此,华为云SSL证书管理团队将配合此次Symantec品牌标识变更,于2020年5月1日前,对华为云售卖的Symantec品牌下所有规格证书标识全部替换为DigiCert标识。品牌标识变更示意图如下: 此外,Digicert还更新了诺顿安全认证签章,如下所示,以遵守与NortonLifeLock Inc.(以前称为赛门铁克公司)之间的协议: 以上变更对您已在华为云订购的Symantec证书的使用不会产生任何影响。 如果您的网页或任何文件资料中已经使用了Symantec品牌信息,请于2020年5月1日前更换,否则可能面临相关法律责任。 在此期间,如您有任何异议,请随时与我们联系,华为云SSL证书团队将一如既往竭诚为您服务。 感谢您对华为云的支持!
  • 【2023年10月12日】关于调整证书部署功能的通知 尊敬的华为云用户,您好: 为了向您提供更优质的服务,华为云云证书管理服务计划调整SSL证书部署功能的计费规则,具体如下: 证书部署功能指通过华为云SSL证书管理控制台将已签发的华为云证书、已上传的第三方证书部署到华为云产品。 华为云付费证书和测试证书扩容包仍支持免费部署。 在2023年11月15日之前创建并签发的测试证书支持免费部署。 上传证书和2023年11月15日之后创建并签发的测试证书部署到华为云产品将更改为收费服务。 生效时间:2023年11月15日 调整后的计费规则如下表所示: 表1 证书部署计费规则 证书类型 部署到华为云产品 华为云付费证书(通过华为云SSL证书服务购买并签发的付费证书) 免费 华为云测试证书扩容包 免费 华为云测试证书(在2023年11月15日之前创建并签发) 免费 华为云测试证书(在2023年11月15日之后创建并签发) 收费 30元/次(每一张证书部署到华为云产品的一个域名计为一次部署) 须知: 证书在华为云产品部署成功后开始扣费,部署失败不收费。 计费示例: 将1张在2023年11月20日在华为云申请并成功签发的测试证书部署到已接入CDN(内容分发网络)的一个域名和已接入WAF(Web应用防火墙)的1个域名,表示2次部署,部署费用为60(30*2)元。 将1张已上传的第三方证书部署到已接入CDN(内容分发网络)的3个域名上,表示3次部署,部署费用为90(30*3)元。 上传证书(通过第三方证书服务平台购买并签发的证书,上传至华为云SSL证书管理平台进行统一管理) 在该部署计费规则生效后,在华为云SSL证书管理控制台为您的第三方证书或11月15日之后创建的测试证书进行部署操作时,会有如下收费提示,请您保证账户余额充足。(部署成功后会进行扣费,部署失败不收费)
  • 【2020年8月14日】Digicert系统突发异常导致EE订单签发延迟的通知 尊敬的华为云用户: 华为云SSL证书团队接到紧急通知,DigiCert系统发生故障,导致EE订单(Digicert 免费DV、Digicert DV通配符证书)签发延迟。 目前,DigiCert系统故障正在加紧修复中,预计今天晚上,DigiCert系统将会恢复正常。华为云SSL证书团队将在系统恢复期间对订单进行持续跟踪处理,确保受此影响的订单均得到有效处理。为了您的证书能正常签发,稍后您可以重新登录云平台查询证书订单的签发状态。 在此期间,如您有任何异议,请随时与我们联系,华为云SSL证书团队将一如既往竭诚为您服务。 感谢您对华为云的支持!
  • 【2023年6月14日】vTrus 证书系统维护通知 尊敬的华为云用户,您好: vTrus 厂商通知,2023年6月14日北京时间早上03点-下午14点会对系统进行升级维护,升级过程中会导致API服务暂时不可用。此次升级不会对现有接口进行改动,升级完成后天威会处理过程中提交CA异常的订单,并进行持续性观察。 华为云vTrus证书服务方面,订单均可正常提交,但订单的处理、签发会延迟到系统维护结束后处理。 我们将在系统更新期间及更新结束后对订单进行持续跟踪处理,确保受此更新影响的订单均得到有效处理。 在此期间,如您有任何异议,请随时与我们联系,华为云SSL证书团队将一如既往竭诚为您服务。 感谢您对华为云的支持和理解!
  • 【2020年7月27日】CA认证机构即将停止签发为期2年的SSL证书通知 尊敬的华为云用户: 由于苹果和谷歌根存储政策的更改,自2020年9月1日起,政策禁止使用有效期超过13个月(397天)的新颁发的SSL / TLS证书。因此,自2020年9月1日起,全球CA认证机构不再签发2年期SSL证书,购买2年证书须在8月25日之前完成申请并签发,过期将无法使用。 目前,GlobalSign公司已发出通知,自2020年8月31日起,GlobalSign将停止颁发为期2年的受信任SSL / TLS证书。 在此期间,如您有任何异议,请随时与我们联系,华为云SSL证书团队将一如既往竭诚为您服务。 感谢您对华为云的支持!
  • 【2020年7月19日】DigiCert系统维护通知 尊敬的华为云用户: 根据DigiCert的通知,DigiCert计划于北京时间2020年7月19日15:00至17:00对系统进行定期维护。尽管DigiCert有冗余措施来保持服务的连续运行,但在此期间某些DigiCert服务可能不可用。 华为云DigiCert(原Symantec品牌)及GeoTrust证书服务方面,订单均可正常提交,但订单的处理、签发会延迟到系统维护结束后处理。 我们将在系统更新期间及更新结束后对订单进行持续跟踪处理,确保受此更新影响的订单均得到有效处理。 在此期间,如您有任何异议,请随时与我们联系,华为云SSL证书团队将一如既往竭诚为您服务。 感谢您的支持和理解!
  • 【2020年8月20日】SSL证书最长有效期变更及影响通知 尊敬的华为云客户,您好: 由于苹果系统和谷歌拟调整受信SSL证书的有效期策略,即自2020年9月1日起,苹果系统和谷歌中受信SSL证书的最长有效期缩短至397天。全球CA认证机构自2020年8月28日起也不再签发2年期SSL证书。因此,华为云SSL证书计划于2020年8月21日起,停止出售有效期为2年的SSL证书。 对此,为了降低您的证书风险,防止证书过期,导致您的业务中断,您需要注意以下几点: 2020年8月21日后,华为云SSL证书将不再出售单张有效期为2年的SSL证书,即您新购买的SSL证书签发的最长有效期为一年。 2020年8月21日前购买的2年期证书,您需要在2020年8月25日前,登录华为云管理控制台提交申请,并完成签发。逾期未签发成功的SSL证书,将拆分成2张1年期证书进行使用。 2020年9月1日前签发成功的2年期SSL证书,可以正常使用。 在此期间,如您有任何异议,请随时与我们联系,华为云SSL证书团队将一如既往竭诚为您服务。 感谢您对华为云的支持!
  • 【2022年07月25日】停用SSL证书OU字段通知 尊敬的华为云客户,您好: 根据CA/B(国际CA/浏览器产业联盟:CA/Browser Forum,简称CA/B)论坛的要求,华为云SSL证书管理将于2022年7月25日起停用SSL证书中的OU字段,具体影响如下: 自2022年7月25日起,申请新的SSL证书时不用配置OU字段。 自2022年8月29日起,所有新颁发的SSL证书中将不再含有OU字段。 2022年8月29日前,已颁发的含有OU字段的SSL证书不受任何影响。 在此期间,如您有任何异议,请随时与我们联系,华为云SSL证书团队将一如既往竭诚为您服务。 感谢您对华为云的支持!
  • 【2023年10月8日】关于测试证书有效期调整通知 尊敬的华为云用户,您好: 接Digicert厂商通知,2023年11月15日起 Digicert DV(Basic) 单域名证书有效期将从12个月缩短至3个月。 对于2023年11月15日前,在华为云创建和签发的免费测试证书(规格为Digicert DV(Basic)单域名),证书有效期仍为12个月。 对于2023年11月15日后,在华为云创建和签发的免费测试证书(规格为Digicert DV(Basic)单域名),证书有效期将改为3个月。 对于在华为云上通过付费购买Digicert DV(Basic)扩容包签发的测试证书,有效期仍为12个月,不受此变动影响。 在此期间,如您有任何异议,请随时与我们联系,华为云SSL证书团队将一如既往竭诚为您服务。 感谢您对华为云的支持和理解!
  • 【2024年5月7日】关于升级Digicert、Geotrust品牌EV SSL证书情况说明 尊敬的华为云用户,您好: Digicert通过扫描发现了签发的部分EV证书出现了Subject Business Category字段内文字大小写的问题。(如“Private organization”应为“Private Organization”)。 根据CAB(全球信任SSL证书标准指定组织)标准的要求,从现在起五天(至北京时间5月12日零点),如果您的SSL证书符合以下条件,该证书将被吊销。华为云会在公告发布之日起为您重新签发新的SSL证书,并联系您替换原有证书。请您在收到新证书后尽快完成证书部署工作,避免网站应用运行受到影响。 SSL证书品牌为Digicert或Geotrust SSL证书类型为EV或EVpro SSL证书在2023年9月1日-2023年11月22日之间签发 证书Subject Business Category字段为“Private organization”,而非正确的“Private Organization” 如您有任何异议,请随时与我们联系,华为云SSL证书团队将一如既往竭诚为您服务。 感谢您对华为云的支持和理解!
  • 步骤二:通过IaC发布敏感配置 业务使用Runtime部署并按照IaC规范配置敏感配置项之后,在部署时Runtime会从STS管理台拉取加密配置项,注入到容器的环境变量中,并通过配置渲染工具将敏感配置渲染到业务的配置文件中。 在IaC脚本中的业务配置项配置文件中指定敏感配置项坐标。 此处以在config_records.yaml文件中增加一个名为spring.redis.password的敏感配置项为例。 spring.redis.password: MicroService/{ServiceName}/{MicroServiceName}/spring.redis.password/default 在IaC脚本中的业务配置项属性定义文件中,声明该配置项为敏感配置项。 此处以在config_schema.yaml中声明微服务的敏感业务配置项为例。 type: object properties: spring.redis.password: format: sensitive
  • 操作步骤 在微服务业务代码的application.yml文件中配置敏感配置项,样例如下: nuwa: security: config: sensitiveWords: spring.redis.password,org.app.protocol-login.oauth.clientSecret,org.app.jwt-key 启动敏感配置项自动解密。 在微服务的启动类中添加@EnableStsEncryptableProperties注解。
  • 微服务平台概述 NUWA Runtime托管了一个微服务运行的所有基础设施,微服务对基础设施的所有要求都通过基础设施即代码(Infrastructure as Code,简称IaC)来描述。NUWA Runtime根据IaC描述,对接相关的配置服务器,通过弹性伸缩管理平台接口,完成部署。应用托管到NUWA Runtime以后,Runtime提供IaC和微服务平台两种方式对集群进行变更。业务通过发布IaC版本,在运维中心执行IaC,即可对微服务集群进行变更。Runtime支持通过IaC指定集群配置、Sidecar版本、资源分配等;通过微服务平台可以对微服务本身及其相关的资源进行管理,如微服务生命周期管理、事件查看、更新配置、回滚、扩缩容等。 NUWA Runtime运行环境支持以下两种场景下微服务托管到容器: 使用NUWA框架开发的微服务,可以最大限度复用NUWA的能力(运行环境、Cloud Map、服务诊断台),实现容器托管、服务注册发现、基于服务诊断台定界定位。 使用非NUWA框架开发的微服务,可以复用NUWA运行环境Sidecar(边车容器,与主应用容器在同一个Pod中运行的辅助容器。 这些容器通过提供额外的服务或功能,如日志记录、监控、安全性或数据同步,来增强或扩展主应用容器的功能, 而无需直接修改主应用代码。)的能力,实现容器托管。 父主题: 微服务平台
  • 快速部署 本章节主要帮助用户快速部署该解决方案。 表1 参数填写说明(以华北-北京四部署示例) 参数名称 类型 是否必填 参数解释 默认值 vpc_name String 必填 虚拟私有云名称,该模板使用新建VPC,不允许重名。取值范围:1-54个字符,支持中文、英文字母、数字、_(下划线)、-(中划线)、.(点)。 ziniao-cross-border-e-commerce-management-system-demo security_group_name String 必填 安全组名称,该模板新建安全组。取值范围:1-64个字符,支持数字、字母、中文、_(下划线)、-(中划线)、.(点)。 ziniao-cross-border-e-commerce-management-system-demo ecs_name String 必填 弹性云服务器名称,不支持重名。命名方式为{ecs_name}-数字,取值范围:1-60个字符,支持中文、英文字母、数字、_(下划线)、-(中划线)、.(点)。 ziniao-cross-border-e-commerce-management-system-demo ecs_count String 必填 弹性云服务器数量,取值范围:大于等于1,上限由用户配额决定。具体请登录华为云官网我的配额查看。 1 ecs_flavor String 必填 弹性云服务器规格,请使用2GiB及以上内存,具体请参考官网弹性云服务器规格清单。 c6.large.2 ecs_password String 必填 弹性云服务器初始化密码,创建完成后请参考3.3开始使用步骤1重置密码。取值范围:长度为8-26位,密码至少包含大写字母、小写字母、数字和特殊字符($!@%-_=+[]:./^,{}?)中的三种,密码不能包含用户名或用户名的逆序。管理员账户为Administrator。 空 bandwidth_size Number 必填 带宽大小,该模板计费方式为按带宽计费。取值范围:1-2,000Mbit/s。 5Mbit/s charging_mode String 必填 计费模式,默认自动扣费,取值为prePaid(包年包月)或postPaid(按需计费)。 postPaid charge_period_unit String 必填 订购周期类型,仅当charging_mode为prePaid(包年/包月)生效。取值范围:month(月),year(年)。 month charge_period Number 必填 订购周期,仅当charging_mode为prePaid(包年/包月)生效。取值范围:charging_unit=month(周期类型为月)时,取值为1-9;charging_unit=year(周期类型为年)时,取值为1-3。 1 登录华为云解决方案实践,选择“搭建紫鸟跨境电商管理系统”并单击,跳转至该解决方案一键部署界面,数据中心下拉菜单可以选择需要部署的区域。 图1 解决方案实施库 单击“一键部署”,跳转至该解决方案创建资源栈部署界面。 图2 创建资源栈 单击“下一步”,参考表1完成自定义参数填写。 图3 参数配置 在资源设置界面中,“权限委托”下拉框中选择“rf_admin_trust”委托,单击“下一步”。 图4 资源栈设置 在配置确认界面中,单击“创建执行计划”。 图5 创建执行计划 在弹出的创建执行计划框中,自定义填写执行计划名称,单击“确定”。 图6 创建执行计划 单击“部署”,弹出执行计划提示信息,单击“执行”确认执行。 图7 执行计划确认 (可选)如果计费模式选择“包年包月”,在余额不充足的情况下(所需总费用请参考表1)请及时登录费用中心,手动完成待支付订单的费用支付。 等待解决方案自动部署。部署成功后,单击“事件”,回显结果如下: 图8 资源创建成功 刷新页面,在“输出”中查看弹性云服务器连接说明。 图9 输出 父主题: 实施步骤
  • 资源和成本规划 该解决方案主要部署如下资源,不同产品的花费仅供参考,具体请参考华为云官网价格,实际以收费账单为准: 表1 资源和成本规划(包年包月) 华为云服务/紫鸟 配置示例 每月预估花费 弹性云服务器 ECS 区域:华北-北京四 计费模式:包年包月 规格:X86计算 | ECS | c6.large.2 | 2vCPUs | 4GiB 镜像:紫鸟跨境电商管理系统-Windows Server 2019标准版 系统盘:高IO | 100GB 购买量:1 243.50 元 弹性公网IP EIP 区域:华北-北京四 计费模式:包年包月 线路:动态BGP 公网带宽:按带宽计费 带宽大小:5Mbit/s 购买量:1 115 元 店铺管理IP - 一个店铺对应一个IP,价格在68-158元/月不等,具体请咨询紫鸟浏览器官方客服。 合计 - 358.5元 + 店铺管理IP使用费
  • 应用场景 该解决方案可以帮助您在华为云弹性云服务器上快速搭建紫鸟跨境电商店铺管理环境。紫鸟纯净浏览器是一款提供丰富的跨境电商运营、管理工具及采用多重数据加密+独立容器技术的Web浏览器,主要为跨境电商卖家提供店铺管理环境以及IP隔离。通过紫鸟客户端建立多个环境(电脑配置环境)购买多个IP,绑定多个店铺(一个店铺对应一个IP),从而实现跨境电商店铺管理。适用于管理eBay、速卖通、沃尔玛、wish、shopee、lazada等电商平台店铺。
  • 如何快速使用MRS MRS是一个在华为云上部署和管理Hadoop系统的服务,一键即可部署Hadoop集群。MRS提供租户完全可控的企业级大数据集群云服务,轻松运行Hadoop、Spark、HBase、Kafka等大数据组件。 MRS使用简单,通过使用在集群中连接在一起的多台计算机,您可以运行各种任务,处理或者存储(PB级)巨量数据。 MRS的基本使用流程如下: 通过MRS管理控制台购买集群,用户可以指定集群类型用于离线数据分析和流处理任务,也可以指定集群中预置的弹性云服务器实例规格、实例数量、数据盘类型(高IO、超高IO)、要安装的组件等。 开发数据处理程序,MRS的开发指南为用户提供代码示例和教程,帮助您快速开始开发自己的程序并正常运行。 上传准备好的程序和数据文件到对象存储服务(OBS)或者集群内的HDFS文件系统中。 集群创建成功后,可直接添加作业,执行由用户自身开发的程序或者SQL语句,进行数据的处理与分析。 MRS为用户提供企业级的大数据集群的统一管理平台,帮助用户快速掌握服务及主机的健康状态,通过图形化的指标监控及定制及时的获取系统的关键信息,根据实际业务的性能需求修改服务属性的配置,对集群、服务、角色实例等实现一键启停等操作。 如果作业执行结束后不再需要集群,可以快速删除MRS集群。集群删除后不再产生费用。 父主题: 购买并使用MRS集群
  • 获取样例工程 通过开源镜像站获取样例工程。 下载样例工程的Maven工程源码和配置文件,并在本地配置好相关开发工具,可参考通过开源镜像站获取样例工程。 根据集群版本选择对应的分支,下载并获取MRS相关样例工程。 例如本章节场景对应示例为“hdfs-example-security”样例,获取地址:https://github.com/huaweicloud/huaweicloud-mrs-example/tree/mrs-3.2.0.1/src/hdfs-example-security。 本地使用IDEA工具导入样例工程,等待Maven工程下载相关依赖包,具体操作可参考配置并导入样例工程。 图1 HDFS样例工程示例 本地配置好Maven及SDK相关参数后,样例工程会自动加载相关依赖包。 将准备应用开发配置文件中获取的集群配置文件及用户认证文件放置在样例工程的“conf”目录下。 在HDFS样例工程代码中,不同的样例工程,使用的认证代码不同,包括基本安全认证和带ZooKeeper认证。 本示例中,不需要访问HBase或ZooKeeper,所以使用基本的安全认证代码即可。 在“com.huawei.bigdata.hdfs.examples”包的“HdfsExample”类中修改“PRNCIPAL_NAME”为实际用户名,例如“developuser”。 private static final String PATH_TO_HDFS_SITE_XML = System.getProperty("user.dir") + File.separator + "conf" + File.separator + "hdfs-site.xml"; private static final String PATH_TO_CORE_SITE_XML = System.getProperty("user.dir") + File.separator + "conf" + File.separator + "core-site.xml"; private static final String PRNCIPAL_NAME = "developuser"; private static final String PATH_TO_KEYTAB = System.getProperty("user.dir") + File.separator + "conf" + File.separator + "user.keytab"; private static final String PATH_TO_KRB5_CONF = System.getProperty("user.dir") + File.separator + "conf" + File.separator + "krb5.conf"; ... 本样例工程中,基于业务场景的开发思路如下,各功能代码片段详情说明可参考HDFS样例代码说明。 以“/user/hdfs-examples/test.txt”文件的读写删除等操作为例,说明HDFS文件的基本操作流程: 通过集群安全认证。 创建FileSystem对象:fSystem。 调用fSystem的mkdir接口创建目录。 调用fSystem的create接口创建FSDataOutputStream对象:out,使用out的write方法写入数据。 调用fSystem的append接口创建FSDataOutputStream对象:out,使用out的write方法追加写入数据。 调用fSystem的open接口创建FSDataInputStream对象:in,使用in的read方法读取文件。 调用fSystem中的delete接口删除文件。 调用fSystem中的delete接口删除文件夹。
  • 创建MRS集群 购买一个包含有Kafka组件的MRS集群,详情请参见购买自定义集群。 本文以购买的MRS 3.1.0版本的集群为例,组件包含Hadoop、Kafka组件,集群未开启Kerberos认证。 集群购买成功后,在MRS集群的任一节点内,安装集群客户端,具体操作可参考安装并使用集群客户端。 例如客户端安装在主管理节点中,安装目录为“/opt/client”。 客户端安装完成后,在客户端内创建“lib”目录,用于放置相关jar包。 将安装客户端过程中解压的目录中Kafka相关jar包拷贝到“lib”目录。 例如客户端软件包的下载路径为主管理节点的“/tmp/FusionInsight-Client”目录,执行以下命令: mkdir /opt/client/lib cd /tmp/FusionInsight-Client/FusionInsight_Cluster_1_Services_ClientConfig scp Kafka/install_files/kafka/libs/* /opt/client/lib
  • 上传jar包及准备源数据 将编译后的jar包上传到客户端节点,例如上传到“/opt/client/sparkdemo”目录下。 如果本地网络无法直接连接客户端节点上传文件,可先将jar文件或者源数据上传至OBS文件系统中,然后通过MRS管理控制台集群内的“文件管理”页面导入HDFS中,再通过HDFS客户端使用hdfs dfs -get命令下载到客户端节点本地。 将用于认证的用户keytab文件也上传到代码中指定位置,例如上传到“/opt/client”目录下。 使用root用户登录安装了集群客户端的节点。 cd /opt/client source bigdata_env kinit sparkuser 创建Hive表并写入初始数据。 beeline 在Hive Beeline命令行中执行以下命令创建表并插入数据。 create table person ( name STRING, account INT ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' ESCAPED BY '\\' STORED AS TEXTFILE; insert into table person(name,account) values("1","100"); select * from person; +--------------+-----------------+ | person.name | person.account | +--------------+-----------------+ | 1 | 100 | +--------------+-----------------+ 创建HBase表并写入初始数据。 退出Hive Beeline命令行,执行spark-beeline,然后执行以下命令创建HBase表。 create table table2 ( key string, cid string ) using org.apache.spark.sql.hbase.HBaseSource options( hbaseTableName "table2", keyCols "key", colsMapping "cid=cf.cid" ); 退出Spark Beeline命令行,执行hbase shell命令,进入HBase Shell命令行,执行以下命令插入数据。 put 'table2', '1', 'cf:cid', '1000' scan 'table2' ROW COLUMN+CELL 1 column=cf:cid, timestamp=2023-06-12T21:12:50.711, value=1000 1 row(s)
  • 获取样例工程 通过开源镜像站获取样例工程。 下载样例工程的Maven工程源码和配置文件,并在本地配置好相关开发工具,可参考通过开源镜像站获取样例工程。 根据集群版本选择对应的分支,下载并获取MRS相关样例工程。 例如本章节场景对应示例为“hive-jdbc-example”样例,获取地址:https://github.com/huaweicloud/huaweicloud-mrs-example/tree/mrs-3.1.5/src/hive-examples/hive-jdbc-example。 本地使用IDEA工具导入样例工程,等待Maven工程下载相关依赖包,具体操作可参考配置并导入样例工程。 图1 Hive样例工程示例 本地配置好Maven及SDK相关参数后,样例工程会自动加载相关依赖包。 将准备应用开发配置文件中获取的集群配置文件及用户认证文件放置在样例工程的“resources”目录下。 如需连接开启了Kerberos认证的MRS集群,在Hive样例工程代码中,需配置相关认证信息。 在“com.huawei.bigdata.hive.examples”包的“JDBCExample”类中修改“USER_NAME”为实际用户名,例如“developuser”。 KRB5_FILE = userdir + "krb5.conf"; System.setProperty("java.security.krb5.conf", KRB5_FILE); USER_NAME = "developuser"; if ("KERBEROS".equalsIgnoreCase(auth)) { USER_KEYTAB_FILE = "src/main/resources/user.keytab"; ZOOKEEPER_DEFAULT_SERVER_PRINCIPAL = "zookeeper/" + getUserRealm(); System.setProperty(ZOOKEEPER_SERVER_PRINCIPAL_KEY, ZOOKEEPER_DEFAULT_SERVER_PRINCIPAL); } ... 本样例工程中,基于业务场景的开发思路如下,各功能代码片段详情说明可参考JDBC访问Hive样例程序: 数据准备。 创建表,雇员信息表“employees_info”。 加载雇员信息数据到雇员信息表“employees_info”中。 数据分析。 统计表employees_info中有多少条记录。 删除表。
  • 编译并运行程序 编译JDBC样例程序: 在IDEA界面左下方单击“Terminal”进入终端,执行命令mvn clean package进行编译。 当输出“BUILD SUCCESS”,表示编译成功,如下图所示。编译成功后将会在样例工程的target下生成含有“-with-dependencies”字段的jar包。 [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 03:30 min [INFO] Finished at: 2023-05-17T20:22:44+08:00 [INFO] ------------------------------------------------------------------------ 在本地创建一个目录作为运行目录,如“D:\jdbc_example”,将生成的包名中含有“-with-dependencies”字段的jar包放进该路径下,并在该目录下创建子目录“src/main/resources”。将样例工程“resources”目录下的所有文件拷贝到该目录下。 在Windows CMD环境下执行: cd /d d:\jdbc_example java -jar hive-jdbc-example-XXX-with-dependencies.jar 样例运行成功后,运行信息如下,表示相关Hive表操作成功执行。 ... 2023-05-17 20:25:09,421 INFO HiveConnection - Login timeout is 0 2023-05-17 20:25:09,656 INFO HiveConnection - user login success. 2023-05-17 20:25:09,685 INFO HiveConnection - Will try to open client transport with JDBC Uri: jdbc:hive2://192.168.64.216:21066/;principal=hive/hadoop.hadoop.com@HADOOP.COM;sasl.qop=auth-conf;serviceDiscoveryMode=zooKeeper;auth=KERBEROS;zooKeeperNamespace=hiveserver2;user.principal=developuser;user.keytab=src/main/resources/user.keytab 2023-05-17 20:25:30,294 INFO JDBCExample - Create table success! 2023-05-17 20:26:34,032 INFO JDBCExample - _c0 2023-05-17 20:26:34,266 INFO JDBCExample - 0 2023-05-17 20:26:35,199 INFO JDBCExample - Delete table success! ...
  • 操作步骤 进入购买MRS集群页面。 在购买集群页面,选择“自定义购买”页签。 创建集群时需要注意配额提醒。当资源配额不足时,建议按照界面提示申请足够的资源,再创建集群。 配置集群软件信息。 区域:默认即可。 计费模式:默认即可。 购买时长:按需即可。 集群名称:可以设置为系统默认名称,但为了区分和记忆,建议带上项目拼音缩写或者日期等。例如:“mrs_20180321”。 集群类型:选择“分析集群”即可。 版本类型:提供普通版和LTS版两种版本类型,默认版本类型为普通版。 集群版本:默认最新版本即可。 组件选择:分析集群勾选Spark2x、HBase和Hive等组件。流式集群勾选Kafka和Storm等组件。混合集群可同时勾选分析集群流式集群的组件。 针对MRS 3.x之前版本,分析集群勾选Spark、HBase和Hive等组件。 元数据:默认即可。MRS 3.x版本支持。 组件端口:当前MRS集群内各组件默认通讯端口值的策略。 单击“下一步”。 可用区:默认即可。 当您为IES购买MRS时,默认可用区为“边缘可用区”。 企业项目:选择“default”即可。 虚拟私有云:默认即可。如果没有虚拟私有云,请单击“查看虚拟私有云”进入虚拟私有云,创建一个新的虚拟私有云。 子网:默认即可。 安全组:默认即可。 弹性公网IP:默认即可。 CPU架构:默认即可。 常用模板:根据业务需求,选择相应模板。 集群节点: 节点数:需要购买的节点数量,3.x版本默认为3或根据业务情况选择合适的规格。 实例规格:Master和Core节点保持默认或根据业务情况选择合适的规格。 系统盘:存储类型选择“超高IO”,存储空间默认即可。 数据盘:存储类型选择“超高IO”,存储空间默认即可,数据盘数量默认即可。 拓扑调整:默认即可。 单击“下一步”进入高级配置页签,配置参数,其他参数保持默认。 Kerberos认证: Kerberos认证:关闭Kerberos认证。 用户名:Manager管理员用户,目前默认为admin用户。 密码:Manager管理员用户的密码。 确认密码:再次输入密码。 登录方式:选择登录ECS节点的登录方式。 密码:设置登录ECS节点的登录密码。 密钥对:从下拉框中选择密钥对,如果已获取私钥文件,请勾选“我确认已获取该密钥对中的私钥文件SSHkey-xxx,否则无法登录弹性云服务器”。如果没有创建密钥对,请单击“查看密钥对”创建或导入密钥,然后再获取私钥文件。 主机名前缀:用作集群中ECS机器或BMS机器主机名的前缀。 只能包含大写字母、小写字母、数字和中划线,中划线不能在开头或末尾,最大支持20个字符。 集群创建时会为节点注册DNS域名,集群创建完成后完整的主机名和节点域名为:[prefix]-hostname.mrs-{XXXX}.com。XXXX为根据UUID生成的四位字符串。 高级配置:如果需要设置,请勾选“现在配置”进行配置。 单击“下一步”进入确认配置页签。 配置:确认软件配置、硬件配置及高级配置信息。 通信安全授权:勾选“通信安全授权”。 单击“立即购买”。 当集群开启Kerberos认证时,需要确认是否需要开启Kerberos认证,若确认开启请单击“继续”,若无需开启Kerberos认证请单击“返回”关闭Kerberos认证后再创建集群。购买集群后,不支持修改。 单击“返回集群列表”,可以查看到集群创建的状态。 集群创建需要时间,所创集群的初始状态为“启动中”,创建成功后状态更新为“运行中”,请您耐心等待。
  • 监控指标参考 FusionInsight Manager转告警监控指标可分为节点信息指标与集群服务指标。表2表示节点中可配置阈值的指标、表3表示组件可配置阈值的指标。 下表中的“默认阈值”参数值以未开启分级告警开关为例,具体以实际界面显示为准。 表2 节点信息监控指标转告警列表(未开启分级告警开关) 监控指标组名称 监控指标名称 告警ID 告警名称 告警对系统的影响 默认阈值 CPU 主机CPU使用率 12016 CPU使用率超过阈值 业务进程响应缓慢或不可用。 90.0% 磁盘 磁盘使用率 12017 磁盘容量不足 业务进程不可用。 90.0% 磁盘inode使用率 12051 磁盘Inode使用率超过阈值 文件系统无法正常写入。 80.0% 内存 主机内存使用率 12018 内存使用率超过阈值 业务进程响应缓慢或不可用。 90.0% 主机状态 主机文件句柄使用率 12053 主机文件句柄使用率超过阈值 系统应用无法打开文件、网络等IO操作,程序异常。 80.0% 主机PID使用率 12027 主机PID使用率超过阈值 无法分配PID给新的业务进程,业务进程不可用。 90% 网络状态 TCP临时端口使用率 12052 TCP临时端口使用率超过阈值 主机上业务无法发起对外建立连接,业务中断。 80.0% 网络读信息 读包错误率 12047 网络读包错误率超过阈值 通信闪断,业务超时。 0.5% 读包丢包率 12045 网络读包丢包率超过阈值 业务性能下降或者个别业务出现超时问题。 0.5% 读吞吐率 12049 网络读吞吐率超过阈值 业务系统运行不正常或不可用。 80% 网络写信息 写包错误率 12048 网络写包错误率超过阈值 通信闪断,业务超时。 0.5% 写包丢包率 12046 网络写包丢包率超过阈值 业务性能下降或者个别业务出现超时问题。 0.5% 写吞吐率 12050 网络写吞吐率超过阈值 业务系统运行不正常或不可用。 80% 进程 D状态和Z状态进程总数 12028 主机D状态和Z状态进程数超过阈值 占用系统资源,业务进程响应变慢。 0 omm进程使用率 12061 进程使用率超过阈值 无法切换到omm用户。无法创建新的omm线程。 90 表3 集群监控指标转告警列表(未开启分级告警开关) 服务 监控指标名称 告警ID 告警名称 告警对系统的影响 默认阈值 DBService 数据库连接数使用率 27005 数据库连接数使用率超过阈值 可能导致上层服务无法连接DBService的数据库,影响正常业务。 90% 数据目录磁盘空间使用率 27006 数据目录磁盘空间使用率超过阈值 业务进程不可用。 当数据目录磁盘空间使用率超过90%时,数据库进入只读模式并发送告警“数据库进入只读模式”,业务数据丢失。 80% Flume Flume堆内存使用率 24006 Flume Server堆内存使用率超过阈值 堆内存溢出可能导致服务崩溃。 95.0% Flume直接内存使用率 24007 Flume Server直接内存使用率超过阈值 直接内存溢出可能导致服务崩溃。 80.0% Flume非堆内存使用率 24008 Flume Server非堆内存使用率超过阈值 非堆内存溢出可能导致服务崩溃。 80.0% Flume垃圾回收(GC)总时间 24009 Flume Server垃圾回收(GC)时间超过阈值 导致Flume数据传输效率低下。 12000ms HBase GC中回收old区所花时长 19007 HBase GC时间超出阈值 老年代GC时间超出阈值,会影响到HBase数据的读写。 5000ms RegionServer直接内存使用率统计 19009 HBase服务进程直接内存使用率超出阈值 HBase可用的直接内存不足,可能会造成内存溢出导致服务崩溃。 90% RegionServer堆内存使用率统计 19008 HBase服务进程堆内存使用率超出阈值 HBase可用内存不足,可能会造成内存溢出导致服务崩溃。 90% HMaster直接内存使用率统计 19009 HBase服务进程直接内存使用率超出阈值 HBase可用的直接内存不足,可能会造成内存溢出导致服务崩溃。 90% HMaster堆内存使用率统计 19008 HBase服务进程堆内存使用率超出阈值 HBase可用内存不足,可能会造成内存溢出导致服务崩溃。 90% 单个RegionServer的region数目 19011 RegionServer的Region数量超出阈值 RegionServer的Region数超出阈值,会影响HBase的数据读写性能。 2000 处在RIT状态达到阈值时长的region数 19013 region处在RIT状态的时长超过阈值。 表的部分数据丢失或不可用。 1 RegionServer的handler使用 19021 RegionServer活跃handler数超过阈值 RegionServer的handler使用率超出阈值,会影响RegionServer对外提供服务的能力,如果集群的大部分RegionServer的handler使用率超过阈值,可导致HBase无法对外提供服务。 90% 容灾同步失败次数 19006 HBase容灾同步失败 无法同步集群中HBase的数据到备集群,导致主备集群数据不一致。 1 主集群等待同步的日志文件数量 19020 HBase容灾等待同步的wal文件数量超过阈值 RegionServer等待同步的wal文件数量超出阈值,会影响HBase使用的znode超出阈值,影响HBase服务状态。 128 主集群等待同步的HFile文件数量 19019 HBase容灾等待同步的HFile文件数量超过阈值 RegionServer等待同步的HFile文件数量超出阈值,会影响HBase使用的znode超出阈值,影响HBase服务状态。 128 Compaction操作队列大小 19018 HBase合并队列超出阈值 产生该告警表示HBase服务的compaction队列长度已经超过规定的阈值,如果不及时处理,可能会导致集群性能下降,影响数据读写。 100 HDFS HDFS缺失的块数量 14003 丢失的HDFS块数量超过阈值 HDFS存储数据丢失,HDFS可能会进入安全模式,无法提供写服务。丢失的块数据无法恢复。 0 需要复制副本的块总数 14028 待补齐的块数超过阈值 HDFS存储数据丢失,HDFS可能会进入安全模式,无法提供写服务。丢失的块数据无法恢复。 1000 主NameNode RPC处理平均时间 14021 NameNode RPC处理平均时间超过阈值 NameNode无法及时处理来自HDFS客户端、依赖于HDFS的上层服务、DataNode等的RPC请求,表现为访问HDFS服务的业务运行缓慢,严重时会导致HDFS服务不可用。 100ms 主NameNode RPC队列平均时间 14022 NameNode RPC队列平均时间超过阈值 NameNode无法及时处理来自HDFS客户端、依赖于HDFS的上层服务、DataNode等的RPC请求,表现为访问HDFS服务的业务运行缓慢,严重时会导致HDFS服务不可用。 200ms HDFS磁盘空间使用率 14001 HDFS磁盘空间使用率超过阈值 HDFS集群磁盘容量不足,会影响到HDFS的数据写入。 80% DataNode磁盘空间使用率 14002 DataNode磁盘空间使用率超过阈值 DataNode容量不足,会影响到HDFS的数据写入。 80% 总副本预留磁盘空间所占比率 14023 总副本预留磁盘空间所占比率超过阈值 HDFS集群磁盘容量不足,会影响到HDFS的数据写入。如果DataNode的剩余空间都已经给副本预留,则写入HDFS数据失败。 90% 故障的DataNode总数 14009 Dead DataNode数量超过阈值 故障状态的DataNode节点无法提供HDFS服务。 3 NameNode非堆内存使用百分比统计 14018 NameNode非堆内存使用率超过阈值 HDFS NameNode非堆内存使用率过高,会影响HDFS的数据读写性能。 90% NameNode直接内存使用百分比统计 14017 NameNode直接内存使用率超过阈值 NameNode可用直接内存不足,可能会造成内存溢出导致服务崩溃。 90% NameNode堆内存使用百分比统计 14007 NameNode堆内存使用率超过阈值 HDFS NameNode堆内存使用率过高,会影响HDFS的数据读写性能。 95% DataNode直接内存使用百分比统计 14016 DataNode直接内存使用率超过阈值 DataNode可用直接内存不足,可能会造成内存溢出导致服务崩溃。 90% DataNode堆内存使用百分比统计 14008 DataNode堆内存使用率超过阈值 HDFS DataNode堆内存使用率过高,会影响到HDFS的数据读写性能。 95% DataNode非堆内存使用百分比统计 14019 DataNode非堆内存使用率超过阈值 HDFS DataNode非堆内存使用率过高,会影响HDFS的数据读写性能。 90% 垃圾回收时间统计(GC)(NameNode) 14014 NameNode进程垃圾回收(GC)时间超过阈值 NameNode进程的垃圾回收时间过长,可能影响该NameNode进程正常提供服务。 12000ms 垃圾回收时间统计(GC)(DataNode) 14015 DataNode进程垃圾回收(GC)时间超过阈值 DataNode进程的垃圾回收时间过长,可能影响该DataNode进程正常提供服务。 12000ms Hive Hive执行成功的HQL百分比 16002 Hive SQL执行成功率低于阈值 系统执行业务能力过低,无法正常响应客户请求。 90.0% Background线程使用率 16003 Background线程使用率超过阈值 后台Background线程数过多,导致新提交的任务无法及时运行。 90% MetaStore的总GC时间 16007 Hive GC 时间超出阈值 GC时间超出阈值,会影响到Hive数据的读写。 12000ms HiveServer的总GC时间 16007 Hive GC 时间超出阈值 GC时间超出阈值,会影响到Hive数据的读写。 12000ms Hive已经使用的HDFS空间占可使用空间的百分比 16001 Hive数据仓库空间使用率超过阈值 系统可能无法正常写入数据,导致部分数据丢失。 85.0% MetaStore直接内存使用率统计 16006 Hive服务进程直接内存使用超出阈值 Hive直接内存使用率过高,会影响Hive任务运行的性能,甚至造成内存溢出导致Hive服务不可用。 95% MetaStore非堆内存使用率统计 16008 Hive服务进程非堆内存使用超出阈值 Hive非堆内存使用率过高,会影响Hive任务运行的性能,甚至造成内存溢出导致Hive服务不可用。 95% MetaStore堆内存使用率统计 16005 Hive服务进程堆内存使用超出阈值 Hive堆内存使用率过高,会影响Hive任务运行的性能,甚至造成内存溢出导致Hive服务不可用。 95% HiveServer直接内存使用率统计 16006 Hive服务进程直接内存使用超出阈值 Hive直接内存使用率过高,会影响Hive任务运行的性能,甚至造成内存溢出导致Hive服务不可用。 95% HiveServer非堆内存使用率统计 16008 Hive服务进程非堆内存使用超出阈值 Hive非堆内存使用率过高,会影响Hive任务运行的性能,甚至造成内存溢出导致Hive服务不可用。 95% HiveServer堆内存使用率统计 16005 Hive服务进程堆内存使用超出阈值 Hive堆内存使用率过高,会影响Hive任务运行的性能,甚至造成内存溢出导致Hive服务不可用。 95% 连接到HiveServer的session数占最大允许session数的百分比 16000 连接到HiveServer的session数占最大允许数的百分比超过阈值 发生连接数告警时,表示连接到HiveServer的session数过多,将会导致无法建立新的连接。 90.0% Kafka 未完全同步的Partition百分比 38006 Kafka未完全同步的Partition百分比超过阈值 Kafka服务未完全同步的Partition数过多,会影响服务的可靠性,一旦发生leader切换,可能会导致丢数据。 50% broker上用户连接数使用率 38011 Broker上用户连接数使用率超过设定阈值 当同一个用户连接数太多时,产生告警的用户将无法与Broker建立新的连接。 80% Broker磁盘使用率 38001 Kafka磁盘容量不足 磁盘容量不足会导致Kafka写入数据失败。 80.0% Broker磁盘IO使用率 38009 Broker磁盘IO繁忙 Partition所在的磁盘分区IO过于繁忙,产生告警的Kafka Topic上可能无法写入数据。 80% Broker每分钟的垃圾回收时间统计(GC) 38005 Broker进程垃圾回收(GC)时间超过阈值 Broker进程的垃圾回收时间过长,可能影响该Broker进程正常提供服务。 12000ms Kafka堆内存使用率 38002 Kafka堆内存使用率超过阈值 Kafka可用内存不足,可能会造成内存溢出导致服务崩溃。 95% Kafka直接内存使用率 38004 Kafka直接内存使用率超过阈值 Kafka可用直接内存不足,可能会造成内存溢出导致服务崩溃。 95% Loader Loader堆内存使用率 23004 Loader堆内存使用率超过阈值 堆内存溢出可能导致服务崩溃。 95% Loader直接内存使用率统计 23006 Loader直接内存使用率超过阈值 直接内存溢出可能导致服务崩溃。 80.0% Loader非堆内存使用率 23005 Loader非堆内存使用率超过阈值 非堆内存溢出可能导致服务崩溃。 80% Loader的总GC时间 23007 Loader进程垃圾回收(GC)时间超过阈值 导致Loader服务响应缓慢。 12000ms Mapreduce 垃圾回收时间统计(GC) 18012 JobHistoryServer进程垃圾回收(GC)时间超过阈值 JobHistoryServer进程的垃圾回收时间过长,可能影响该JobHistoryServer进程正常提供服务。 12000ms JobHistoryServer直接内存使用百分比统计 18015 JobHistoryServer直接内存使用率超过阈值 MapReduce可用直接内存不足,可能会造成内存溢出导致服务崩溃。 90% JobHistoryServer非堆内存使用百分比统计 18019 JobHistoryServer非堆内存使用率超过阈值 MapReduce JobHistoryServer非堆内存使用率过高,会影响MapReduce任务提交和运行的性能,甚至造成内存溢出导致MapReduce服务不可用。 90% JobHistoryServer堆内存使用百分比统计 18009 JobHistoryServer堆内存使用率超过阈值 Mapreduce JobHistoryServer堆内存使用率过高,会影响Mapreduce 服务日志归档的性能,甚至造成内存溢出导致Mapreduce服务不可用。 95% Oozie Oozie堆内存使用率 17004 Oozie堆内存使用率超过阈值 堆内存溢出可能导致服务崩溃。 95.0% Oozie直接内存使用率 17006 Oozie直接内存使用率超过阈值 直接内存溢出可能导致服务崩溃。 80.0% Oozie非堆内存使用率 17005 Oozie非堆内存使用率超过阈值 非堆内存溢出可能导致服务崩溃。 80% Oozie垃圾回收(GC)总时间 17007 Oozie垃圾回收(GC)时间超过阈值 导致Oozie提交任务响应变慢。 12000ms Spark2x JDBCServer2x堆内存使用率统计 43010 JDBCServer2x进程堆内存使用超出阈值 JDBCServer2x进程堆内存使用率过高,会影响JDBCServer2x进程运行的性能,甚至造成内存溢出导致JDBCServer2x进程不可用。 95% JDBCServer2x直接内存使用率统计 43012 JDBCServer2x进程直接内存使用超出阈值 JDBCServer2x进程直接内存使用率过高,会影响JDBCServer2x进程运行的性能,甚至造成内存溢出导致JDBCServer2x进程不可用。 95% JDBCServer2x非堆内存使用率统计 43011 JDBCServer2x进程非堆内存使用超出阈值 JDBCServer2x进程非堆内存使用率过高,会影响JDBCServer2x进程运行的性能,甚至造成内存溢出导致JDBCServer2x进程不可用。 95% JobHistory2x直接内存使用率统计 43008 JobHistory2x进程直接内存使用超出阈值 JobHistory2x进程直接内存使用率过高,会影响JobHistory2x进程运行的性能,甚至造成内存溢出导致JobHistory2x进程不可用。 95% JobHistory2x非堆内存使用率统计 43007 JobHistory2x进程非堆内存使用超出阈值 JobHistory2x进程非堆内存使用率过高,会影响JobHistory2x进程运行的性能,甚至造成内存溢出导致JobHistory2x进程不可用。 95% JobHistory2x堆内存使用率统计 43006 JobHistory2x进程堆内存使用超出阈值 JobHistory2x进程堆内存使用率过高,会影响JobHistory2x进程运行的性能,甚至造成内存溢出导致JobHistory2x进程不可用。 95% IndexServer2x直接内存使用率统计 43021 IndexServer2x进程直接内存使用超出阈值 IndexServer2x进程直接内存使用率过高,会影响IndexServer2x进程运行的性能,甚至造成内存溢出导致IndexServer2x进程不可用。 95% IndexServer2x堆内存使用率统计 43019 IndexServer2x进程堆内存使用超出阈值 IndexServer2x进程堆内存使用率过高,会影响IndexServer2x进程运行的性能,甚至造成内存溢出导致IndexServer2x进程不可用。 95% IndexServer2x非堆内存使用率统计 43020 IndexServer2x进程非堆内存使用超出阈值 IndexServer2x进程非堆内存使用率过高,会影响IndexServer2x进程运行的性能,甚至造成内存溢出导致IndexServer2x进程不可用。 95% JDBCServer2x的Full GC次数 43017 JDBCServer2x进程Full GC次数超出阈值 GC次数超出阈值,会影响JDBCServer2x进程运行的性能,甚至造成JDBCServer2x进程不可用。 12 JobHistory2x的Full GC次数 43018 JobHistory2x进程Full GC次数超出阈值 GC次数超出阈值,会影响JobHistory2x进程运行的性能,甚至造成JobHistory2x进程不可用。 12 IndexServer2x的Full GC次数 43023 IndexServer2x进程Full GC次数超出阈值 GC次数超出阈值,会影响IndexServer2x进程运行的性能,甚至造成IndexServer2x进程不可用。 12 JDBCServer2x的总GC时间 43013 JDBCServer2x进程GC时间超出阈值 GC时间超出阈值,会影响JDBCServer2x进程运行的性能,甚至造成JDBCServer2x进程不可用。 12000ms JobHistory2x的总GC时间 43009 JobHistory2x进程GC时间超出阈值 GC时间超出阈值,会影响JobHistory2x进程运行的性能,甚至造成JobHistory2x进程不可用。 12000ms IndexServer2x的总GC时间 43022 IndexServer2x进程GC时间超出阈值 GC时间超出阈值,会影响IndexServer2x进程运行的性能,甚至造成IndexServer2x进程不可用。 12000ms Storm Supervisor数 26052 Storm服务可用Supervisor数量小于阈值 集群已经存在的任务无法运行;集群可接收新的Storm任务,但是无法运行。 1 已用Slot比率 26053 Storm Slot使用率超过阈值 用户无法执行新的Storm任务。 80.0% Nimbus堆内存使用率 26054 Nimbus堆内存使用率超过阈值 Storm Nimbus堆内存使用率过高时可能造成频繁GC,甚至造成内存溢出,进而影响Storm任务提交。 80% Yarn NodeManager直接内存使用百分比统计 18014 NodeManager直接内存使用率超过阈值 NodeManager可用直接内存不足,可能会造成内存溢出导致服务崩溃。 90% NodeManager堆内存使用百分比统计 18018 NodeManager堆内存使用率超过阈值 NodeManager堆内存使用率过高,会影响Yarn任务提交和运行的性能,甚至可能会造成内存溢出导致Yarn服务崩溃。 95% NodeManager非堆内存使用百分比统计 18017 NodeManager非堆内存使用率超过阈值 Yarn NodeManager非堆内存使用率过高,会影响Yarn任务提交和运行的性能,甚至造成内存溢出导致Yarn服务不可用。 90% ResourceManager直接内存使用百分比统计 18013 ResourceManager直接内存使用率超过阈值 ResourceManager可用直接内存不足,可能会造成内存溢出导致服务崩溃。 90% ResourceManager堆内存使用百分比统计 18008 ResourceManager堆内存使用率超过阈值 Yarn ResourceManager堆内存使用率过高,会影响Yarn任务提交和运行的性能,甚至造成内存溢出导致Yarn服务不可用。 95% ResourceManager非堆内存使用百分比统计 18016 ResourceManager非堆内存使用率超过阈值 Yarn ResourceManager非堆内存使用率过高,会影响Yarn任务提交和运行的性能,甚至造成内存溢出导致Yarn服务不可用。 90% 垃圾回收时间统计(GC) (NodeManager) 18011 NodeManager进程垃圾回收(GC)时间超过阈值 NodeManager进程的垃圾回收时间过长,可能影响该NodeManager进程正常提供服务。 12000ms 垃圾回收时间统计(GC)(ResourceManager) 18010 ResourceManager进程垃圾回收(GC)时间超过阈值 ResourceManager进程的垃圾回收时间过长,可能影响该ResourceManager进程正常提供服务。 12000ms root队列下失败的任务数 18026 Yarn上运行失败的任务数超过阈值 大量应用任务运行失败。 运行失败的任务需要重新提交。 50 root队列下被杀死的任务数 18025 Yarn被终止的任务数超过阈值 大量应用任务被强制终止。 50 挂起的内存量 18024 Yarn任务挂起内存超过阈值 应用任务结束时间变长。 新应用提交后长时间无法运行。 83886080MB 正在挂起的任务 18023 Yarn任务挂起数超过阈值 应用任务结束时间变长。 新应用提交后长时间无法运行。 60 ZooKeeper ZooKeeper连接数使用率 13001 ZooKeeper可用连接数不足 ZooKeeper可用连接数不足,当连接率超过100%时无法处理外部连接。 80% ZooKeeper堆内存使用率 13004 ZooKeeper堆内存使用率超过阈值 ZooKeeper可用内存不足,可能会造成内存溢出导致服务崩溃。 95% ZooKeeper直接内存使用率 13002 ZooKeeper直接内存使用率超过阈值 ZooKeeper可用内存不足,可能会造成内存溢出导致服务崩溃。 80% ZooKeeper每分钟的垃圾回收时间统计(GC) 13003 ZooKeeper进程垃圾回收(GC)时间超过阈值 ZooKeeper进程的垃圾回收时间过长,可能影响该ZooKeeper进程正常提供服务。 12000ms Ranger UserSync垃圾回收(GC)时间 45284 UserSync垃圾回收(GC)时间超过阈值 导致UserSync响应缓慢。 12000ms PolicySync垃圾回收(GC)时间 45292 PolicySync垃圾回收(GC)时间超过阈值 导致PolicySync响应缓慢。 12000ms RangerAdmin垃圾回收(GC)时间 45280 RangerAdmin垃圾回收(GC)时间超过阈值 导致RangerAdmin响应缓慢。 12000ms TagSync垃圾回收(GC)时间 45288 TagSync垃圾回收(GC)时间超过阈值 导致TagSync响应缓慢。 12000ms UserSync非堆内存使用率 45283 UserSync非堆内存使用率超过阈值 非堆内存溢出可能导致服务崩溃。 80.0% UserSync直接内存使用率 45282 UserSync直接内存使用率超过阈值 直接内存溢出可能导致服务崩溃。 80.0% UserSync堆内存使用率 45281 UserSync堆内存使用率超过阈值 堆内存溢出可能导致服务崩溃。 95.0% PolicySync直接内存使用率 45290 PolicySync直接内存使用率超过阈值 直接内存溢出可能导致服务崩溃。 80.0% PolicySync堆内存使用率 45289 PolicySync堆内存使用率超过阈值 堆内存溢出可能导致服务崩溃。 95.0% PolicySync非堆内存使用率 45291 PolicySync非堆内存使用率超过阈值 非堆内存溢出可能导致服务崩溃。 80.0% RangerAdmin非堆内存使用率 45279 RangerAdmin非堆内存使用率超过阈值 非堆内存溢出可能导致服务崩溃。 80.0% RangerAdmin堆内存使用率 45277 RangerAdmin堆内存使用率超过阈值 堆内存溢出可能导致服务崩溃。 95.0% RangerAdmin直接内存使用率 45278 RangerAdmin直接内存使用率超过阈值 直接内存溢出可能导致服务崩溃。 80.0% TagSync直接内存使用率 45286 TagSync直接内存使用率超过阈值 直接内存溢出可能导致服务崩溃。 80.0% TagSync非堆内存使用率 45287 TagSync非堆内存使用率超过阈值 非堆内存溢出可能导致服务崩溃。 80.0% TagSync堆内存使用率 45285 TagSync堆内存使用率超过阈值 堆内存溢出可能导致服务崩溃。 95.0% ClickHouse Clickhouse服务在ZooKeeper的数量配额使用率 45426 ClickHouse服务在ZooKeeper的数量配额使用率超过阈值 ClickHouse在ZooKeeper的数量配额超过阈值后,无法通过FusionInsight Manager对ClickHouse进行集群操作,无法使用ClickHouse服务功能。 90% Clickhouse服务在ZooKeeper的容量配额使用率 45427 ClickHouse服务在ZooKeeper的容量配额使用率超过阈值 ClickHouse在ZooKeeper的容量配额超过阈值后,无法通过FusionInsight Manager对ClickHouse进行集群操作,无法使用ClickHouse服务功能。 90% IoTDB 合并任务 (空间内合并) 的最大时延 45594 IoTDBServer空间内合并执行时长超过阈值 空间内合并任务超时,会阻塞写数据,影响写操作的性能。 300000ms 合并任务 (Flush) 的最大时延 45593 IoTDBServer Flush执行时长超过阈值 Flush任务超时,会阻塞写数据,影响写操作的性能。 300000ms 合并任务 (跨空间合并) 的最大时延 45595 IoTDBServer跨空间合并执行时长超过阈值 跨空间合并任务超时,会阻塞写数据,影响写操作的性能。 300000ms RPC (executeStatement) 的最大时延 45592 IoTDBServer RPC执行时长超过阈值 IoTDBServer进程RPC过高,会影响IoTDBServer进程运行的性能。 10000s IoTDBServer垃圾回收(GC)总时间 45587 IoTDBServer垃圾回收(GC)时间超过阈值 IoTDBServer进程的垃圾回收(GC)时间过长,可能影响该IoTDBServer进程正常提供服务。 12000ms ConfigNode垃圾回收(GC)总时间 45590 ConfigNode垃圾回收(GC)时间超过阈值 ConfigNode进程的垃圾回收(GC)时间过长,可能影响该ConfigNode进程正常提供服务。 12000ms IoTDBServer堆内存使用率 45586 IoTDBServer堆内存使用率超过阈值 IoTDBServer进程堆内存使用率过高,会影响IoTDBServer进程运行的性能,甚至造成内存溢出导致IoTDBServer进程不可用。 90% IoTDBServer直接内存使用率 45588 IoTDBServer直接内存使用率超过阈值 直接内存溢出可能导致服务崩溃。 90% ConfigNode堆内存使用率 45589 ConfigNode堆内存使用率超过阈值 ConfigNode进程堆内存使用率过高,会影响ConfigNode进程运行的性能,甚至造成内存溢出导致ConfigNode进程不可用。 90% ConfigNode直接内存使用率 45591 ConfigNode直接内存使用率超过阈值 直接内存溢出可能导致IoTDB实例不可用。 90%
  • 获取样例工程 通过开源镜像站获取样例工程。 下载样例工程的Maven工程源码和配置文件,并在本地配置好相关开发工具,可参考通过开源镜像站获取样例工程。 根据集群版本选择对应的分支,下载并获取MRS相关样例工程。 例如本章节场景对应示例为“hcatalog-example”样例,获取地址:https://github.com/huaweicloud/huaweicloud-mrs-example/tree/mrs-3.1.5/src/hive-examples/hcatalog-example。 本地使用IDEA工具导入样例工程,等待Maven工程下载相关依赖包,具体操作可参考配置并导入样例工程。 图1 Hive HCatalog样例工程示例 本地配置好Maven及SDK相关参数后,样例工程会自动加载相关依赖包。
  • 编译并运行程序 编译HCatalog样例程序: 在IDEA Maven工具窗口,选择clean生命周期,执行Maven构建过程。 选择package生命周期,执行Maven构建过程。 图2 打包样例程序 当输出“BUILD SUCCESS”,表示编译成功。 编译成功后将会在样例工程的“target”目录下生成jar包“hcatalog-example-XXX.jar”。 [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 03:30 min [INFO] Finished at: 2023-05-17T20:22:44+08:00 [INFO] ------------------------------------------------------------------------ 登录Hive Beeline命令行,创建用于HCatalog程序分析的源表及数据表。 source /opt/client/bigdata_env kinit hiveuser beeline create table t1(col1 int); create table t2(col1 int,col2 int); 向源数据表t1中插入测试数据: insert into table t1 select 1 union all select 1 union all select 2 union all select 2 union all select 3; select * from t1; +----------+ | t1.col1 | +----------+ | 1 | | 1 | | 2 | | 2 | | 3 | +----------+ 将导出的jar包上传至集群客户端所在的Linux节点指定路径,例如“/opt/hive_demo”。 为方便后续操作,将样例程序目录、客户端组件目录等配置为公共变量。 退出Beeline命令行,执行以下命令: export HCAT_CLIENT=/opt/hive_demo export HADOOP_HOME=/opt/client/HDFS/hadoop export HIVE_HOME=/opt/client/Hive/Beeline export HCAT_HOME=$HIVE_HOME/../HCatalog export LIB_JARS=$HCAT_HOME/lib/hive-hcatalog-core-XXX.jar,$HCAT_HOME/lib/hive-metastore-XXX.jar,$HCAT_HOME/lib/hive-standalone-metastore-XXX.jar,$HIVE_HOME/lib/hive-exec-XXX.jar,$HCAT_HOME/lib/libfb303-XXX.jar,$HCAT_HOME/lib/slf4j-api-XXX.jar,$HCAT_HOME/lib/jdo-api-XXX.jar,$HCAT_HOME/lib/antlr-runtime-XXX.jar,$HCAT_HOME/lib/datanucleus-api-jdo-XXX.jar,$HCAT_HOME/lib/datanucleus-core-XXX.jar,$HCAT_HOME/lib/datanucleus-rdbms-fi-XXX.jar,$HCAT_HOME/lib/log4j-api-XXX.jar,$HCAT_HOME/lib/log4j-core-XXX.jar,$HIVE_HOME/lib/commons-lang-XXX.jar,$HIVE_HOME/lib/hive-exec-XXX.jar export HADOOP_CLASSPATH=$HCAT_HOME/lib/hive-hcatalog-core-XXX.jar:$HCAT_HOME/lib/hive-metastore-XXX.jar:$HCAT_HOME/lib/hive-standalone-metastore-XXX.jar:$HIVE_HOME/lib/hive-exec-XXX.jar:$HCAT_HOME/lib/libfb303-XXX.jar:$HADOOP_HOME/etc/hadoop:$HCAT_HOME/conf:$HCAT_HOME/lib/slf4j-api-XXX.jar:$HCAT_HOME/lib/jdo-api-XXX.jar:$HCAT_HOME/lib/antlr-runtime-XXX.jar:$HCAT_HOME/lib/datanucleus-api-jdo-XXX.jar:$HCAT_HOME/lib/datanucleus-core-XXX.jar:$HCAT_HOME/lib/datanucleus-rdbms-fi-XXX.jar:$HCAT_HOME/lib/log4j-api-XXX.jar:$HCAT_HOME/lib/log4j-core-XXX.jar:$HIVE_HOME/lib/commons-lang-XXX.jar:$HIVE_HOME/lib/hive-exec-XXX.jar LIB_JARS和HADOOP_CLASSPATH中指定的jar包的版本号“XXX”需要根据实际环境的版本号进行修改。 使用Yarn客户端提交任务。 yarn --config $HADOOP_HOME/etc/hadoop jar $HCAT_CLIENT/hcatalog-example-XXX.jar com.huawei.bigdata.HCatalogExample -libjars $LIB_JARS t1 t2 ... 2023-05-18 20:05:56,691 INFO mapreduce.Job: The url to track the job: https://host-192-168-64-122:26001/proxy/application_1683438782910_0008/ 2023-05-18 20:05:56,692 INFO mapreduce.Job: Running job: job_1683438782910_0008 2023-05-18 20:06:07,250 INFO mapreduce.Job: Job job_1683438782910_0008 running in uber mode : false 2023-05-18 20:06:07,253 INFO mapreduce.Job: map 0% reduce 0% 2023-05-18 20:06:15,362 INFO mapreduce.Job: map 25% reduce 0% 2023-05-18 20:06:16,386 INFO mapreduce.Job: map 50% reduce 0% 2023-05-18 20:06:35,999 INFO mapreduce.Job: map 100% reduce 0% 2023-05-18 20:06:42,048 INFO mapreduce.Job: map 100% reduce 100% 2023-05-18 20:06:43,136 INFO mapreduce.Job: Job job_1683438782910_0008 completed successfully 2023-05-18 20:06:44,118 INFO mapreduce.Job: Counters: 54 ... 作业任务运行完成后,进入Hive Beeline命令行,查询t2表数据内容,查看数据分析结果。 select * from t2; +----------+----------+ | t2.col1 | t2.col2 | +----------+----------+ | 1 | 2 | | 2 | 2 | | 3 | 1 | +----------+----------+
  • 获取样例工程 通过开源镜像站获取样例工程。 下载样例工程的Maven工程源码和配置文件,并在本地配置好相关开发工具,可参考通过开源镜像站获取样例工程。 根据集群版本选择对应的分支,下载并获取MRS相关样例工程。 例如本章节场景对应示例为“hbase-example”样例,获取地址:https://github.com/huaweicloud/huaweicloud-mrs-example/tree/mrs-3.1.0/src/hbase-examples/hbase-example。 本地使用IDEA工具导入样例工程,等待Maven工程下载相关依赖包,具体操作可参考配置并导入样例工程。 图2 HBase样例工程示例 本地配置好Maven及SDK相关参数后,样例工程会自动加载相关依赖包。 将准备应用开发配置文件中获取的集群配置文件及用户认证文件放置在样例工程的“../src/main/resources/conf”目录下。 在“com.huawei.bigdata.hbase.examples”包的“TestMain”类中修改“userName”为实际用户名,例如“developuser”。 private static void login() throws IOException { if (User.isHBaseSecurityEnabled(conf)) { userName = "developuser"; //In Windows environment String userdir = TestMain.class.getClassLoader().getResource("conf").getPath() + File.separator; //In Linux environment //String userdir = System.getProperty("user.dir") + File.separator + "conf" + File.separator; LoginUtil.setJaasConf(ZOOKEEPER_DEFAULT_LOGIN_CONTEXT_NAME, userName, userKeytabFile); LoginUtil.login(userName, userKeytabFile, krb5File, conf); } } 本样例工程中,假定用户开发一个应用程序,用于管理企业中的使用A业务的用户信息,A业务操作流程如下: 序号 步骤 1 根据已有信息创建表。 2 导入用户数据。 3 增加“教育信息”列族,在用户信息中新增用户的学历、职称等信息。 4 根据用户编号查询用户姓名和地址。 5 根据用户姓名进行查询。 6 为提升查询性能,创建二级索引或者删除二级索引。 7 用户销户,删除用户信息表中该用户的数据。 8 A业务结束后,删除用户信息表。 例如以下创建用户信息表代码片段在com.huawei.bigdata.hbase.examples包的“HBaseSample”类的testCreateTable方法中,其他各功能代码片段详情说明可参考HBase数据读写示例程序。 public void testCreateTable() { LOG.info("Entering testCreateTable."); TableDescriptorBuilder htd = TableDescriptorBuilder.newBuilder(tableName); //创建表描述符 ColumnFamilyDescriptorBuilder hcd = ColumnFamilyDescriptorBuilder.newBuilder(Bytes.toBytes("info")); //创建列族描述符 hcd.setDataBlockEncoding(DataBlockEncoding.FAST_DIFF); //设置编码算法,HBase提供了DIFF,FAST_DIFF,PREFIX三种编码算法 hcd.setCompressionType(Compression.Algorithm.SNAPPY); htd.setColumnFamily(hcd.build()); //添加列族描述符到表描述符中 Admin admin = null; try { admin = conn.getAdmin(); //获取Admin对象,Admin提供了建表、创建列族、检查表是否存在、修改表结构和列族结构以及删除表等功能。 if (!admin.tableExists(tableName)) { LOG.info("Creating table..."); admin.createTable(htd.build());//调用Admin的建表方法。 LOG.info(admin.getClusterMetrics().toString()); LOG.info(admin.listNamespaceDescriptors().toString()); LOG.info("Table created successfully."); } else { LOG.warn("table already exists"); } } catch (IOException e) { LOG.error("Create table failed " ,e); } finally { if (admin != null) { try { admin.close(); } catch (IOException e) { LOG.error("Failed to close admin " ,e); } } } LOG.info("Exiting testCreateTable."); }
共100000条